java stream分组
时间: 2023-10-29 21:07:38 浏览: 80
java1.8 中 stream 的 groupingBy 最大值、最小值分组
Java Stream分组可以使用Collectors.groupingBy()方法来实现。该方法接受一个Function参数,用于指定根据哪个属性进行分组,返回一个Map对象,键为分组属性值,值为分组的数据列表。例如,可以使用以下代码将一个字符串数组按照长度分组:
String[] strs = {"a", "bb", "ccc", "dddd", "eeeee"};
Map<Integer, List<String>> groups = Arrays.stream(strs)
.collect(Collectors.groupingBy(String::length));
这样,groups就是一个Map对象,其中键为字符串长度,值为该长度的字符串列表。例如,groups.get(1)就是一个包含字符串"a"的列表,groups.get(2)就是一个包含字符串"bb"的列表,以此类推。
阅读全文