web-dev-qa-db-ja.com

メソッドCollectors.groupingByから順序付けされたタイプのマップを取得する方法

データのリストをタイプごとに異なるリストに分ける必要があります。この目的のために、構築を使用します

Map<String,List<Dish>> dishMap = menu.stream()  
         .collect(Collectors.groupingBy(Dish::getType));

しかし、メソッド「Collectors.groupingBy」からHashMapの代わりにLinkedHashMapを取得するにはどうすればよいですか。 javadocでいくつかのデータを見つけましたが、このメソッドで何をしなければならないのかわかりません。

Map<String,List<Dish>> dishMap = menu.stream().collect(Collectors.groupingBy(
                Dish::getType,
                LinkedHashMap::new, ????));

必要なものを取得するには、メソッド「groupingBy」の3番目の引数に何を配置する必要がありますか?

11

toListCollectorを使用する必要があります。

Map<String,List<Dish>> dishMap = menu.stream().collect(Collectors.groupingBy(
            Dish::getType,
            LinkedHashMap::new, Collectors.toList()));
17
Flown