Javaはストリーム:地図<列挙、リスト<A >>一覧へ<B>

セコ:

私は、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());

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=222931&siteId=1