【问题标题】:How to get ordered type of Map from method Collectors.groupingBy如何从方法 Collectors.groupingBy 获取有序类型的 Map
【发布时间】:2017-06-21 11:57:36
【问题描述】:

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

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

【问题讨论】:

    标签: java java-8 grouping linkedhashmap collectors


    【解决方案1】:

    你应该使用toListCollector

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-22
      相关资源
      最近更新 更多