如何从方法收集器.分组获取有序类型的 Map

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

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”的第三个参数中放置什么才能获得我需要的东西?


答案 1

您应该使用 :toListCollector

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

答案 2