如何从Collectors.groupingBy方法中获取有序的Map类型

23

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

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

但是我该如何从“Collectors.groupingBy”方法中获取LinkedHashMap而不是HashMap。我在javadoc中找到了一些数据,但我不知道我必须对这个方法做什么:

但是我该如何从“Collectors.groupingBy”方法中获取LinkedHashMap而不是HashMap。我在javadoc中找到了一些数据,但我不知道我必须对这个方法做什么:

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

我应该在"groupingBy"方法的第三个参数中放置什么才能获得我需要的结果?

1个回答

49

你应该使用 toList Collector

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接