2017-06-21 63 views
2

有序地圖的類型,我需要通過類型數據的名單分成不同的名單,爲此,我用建築如何從方法Collectors.groupingBy

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

,但我怎樣才能得到LinkedHashMap的,而不是從HashMap中方法「Collectors.groupingBy」。我發現在Javadoc一些數據,但我可以`噸得到什麼,我必須用這種方法做:

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

我應該把在第三個參數的方法「groupingBy」得到我需要什麼?

回答

5

您應該使用toListCollector

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

我是如此接近......))),太感謝你了。 –