List<Entity> entities = ...
Map<Boolean, List<Entity>> entitiesByIsTest = entities.stream()
.collect(Collectors.groupingBy(Entity::isTest));
結果マップには、グループ化プロパティに存在する唯一のキーがあることは明らかです。これは、値の無限集合を持つ型に対しては、このように動作しなければなりません。しかし、列挙型/ブール型/その他の決定型はどうですか?StreamAPI Collectors.groupingBy nullの代わりに空のコレクション
空のコレクションの初期化を、以下のスニペットよりももっとエレガントに実装できますか?
if (entitiesByIsTest.get(true) == null) {
entitiesByIsTest.put(true, new ArrayList());
}
ハードが質問を理解します。あなたのコードの目的は何ですか? –
目的は2つの独立したセットに分割し、いくつかの異なるアクションを実行することです。例えば、通常のエンティティを保持しますが、テストエンティティの数だけを保存します。 –