java Java 8中运用stream()进行数据分组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java Java 8中运用stream()进行数据分组相关的知识,希望对你有一定的参考价值。

List<Map<String, Object>> textList =
  list.stream().filter(
          m->(m.get("text") != null)
  ).collect(Collectors.toList());
Map<String, Map<String, List<Map<String, Object>>>> bigMap = new HashMap<>();
List<Map<String, Object>> list = new ArrayList<>();

Map<String, List<Map<String, Object>>> map =
  list.stream().collect(
    Collectors.groupingBy(
      m->String.valueOf(m.get("type"))
    )
  );

map.forEach((k,v)->{
    Map<String, List<Map<String, Object>>> map22 = 
      v.stream().collect(
        Collectors.groupingBy(
          m->String.valueOf(m.get("date"))
        )
      );
    bigMap.put(k,map22);
});

System.out.println(bigMap);

以上是关于java Java 8中运用stream()进行数据分组的主要内容,如果未能解决你的问题,请参考以下文章

Java 8 Stream实践

Java 8 Stream实践

Java 8 的 Stream 不好调试?别逗了!IDEA 调试就能轻松搞定!!

重学Java 8新特性 | 第8讲——趁热打铁,快来练练这三道有关Stream API的练习题

重学Java 8新特性 | 第8讲——趁热打铁,快来练练这三道有关Stream API的练习题

jdk1.8 java.util.stream