如何从方法 Collectors.groupingBy 获取有序类型的地图

How to get ordered type of Map from method Collectors.groupingBy

我需要将数据列表按类型分成不同的列表,为此我使用构造

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()));