我需要按类型将数据列表分成不同的列表,为此,我使用构造
Map<String,List<Dish>> dishMap = menu.stream()
.collect(Collectors.groupingBy(Dish::getType));
但是如何从方法“Collectors.groupingBy”中获取LinkedHashMap而不是HashMap。我在javadoc中发现了一些数据,但无法获得使用此方法必须做的事情:
Map<String,List<Dish>> dishMap = menu.stream().collect(Collectors.groupingBy(
Dish::getType,
LinkedHashMap::new, ????));
我应该在方法“groupingBy”的第三个参数中放置什么以获取所需的信息?
最佳答案
您应该使用toList
Collector
:
Map<String,List<Dish>> dishMap = menu.stream().collect(Collectors.groupingBy(
Dish::getType,
LinkedHashMap::new, Collectors.toList()));