セコ:
私は、Javaのストリームを使用して次の操作を実行します:
私が持っているMap<Enum, List<A>>
と私はそれを変換したいのですがList<B>
どこB
特性を有していますEnum, A
。
だから、アイテムを作るために、そのキーIの必要性のリスト内のすべてのキーと項目毎B
とにそれらのすべてを収集しますList<B>
。
どのようにそれは、Javaストリームを使用して行うことができますか?
ありがとう!
料理:
次のことが可能flatMap
にマップのエントリB
秒。
List<B> bList = map.entrySet().stream()
// a B(key, value) for each of the items in the list in the entry
.flatMap(e -> e.getValue().stream().map(a -> new B(e.getKey(), a)))
.collect(toList());