Collectors.groupingBy
时间: 2023-06-28 17:16:08 浏览: 43
java8 集合 多字段 分组 统计个数代码
5星 · 资源好评率100%
Collectors.groupingBy 是一个 Java 8 中的 Collector,它可以将一个 Stream 中的元素按照指定的分类函数分类,并将分类结果放入一个 Map 中。具体来说,它的语法为:
```
groupingBy(Function<? super T, ? extends K> classifier)
```
其中,`T` 是 Stream 中元素的类型,`K` 是分类结果的类型,`classifier` 是用于分类的函数。例如,可以将一个字符串数组按照字符串长度分类:
```
String[] words = {"apple", "banana", "orange", "pear"};
Map<Integer, List<String>> groups = Arrays.stream(words)
.collect(Collectors.groupingBy(String::length));
```
这将得到一个 Map,其中键为字符串长度,值为该长度下的所有字符串。在本例中,结果为 `{5=[apple], 6=[banana, orange], 4=[pear]}`。
阅读全文