stream流分组后获取分组数量
时间: 2023-10-23 15:10:00 浏览: 109
你可以使用Java中的流(Stream)API来对流进行分组并获取分组数量。下面是一个示例代码,用于对一个字符串列表进行分组并获取各个分组的数量:
```java
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class StreamGroupingExample {
public static void main(String[] args) {
List<String> strings = Arrays.asList("apple", "banana", "pear", "orange", "grape", "kiwi", "pineapple");
Map<Character, Long> groupCounts = strings.stream()
.collect(Collectors.groupingBy(s -> s.charAt(0), Collectors.counting()));
groupCounts.forEach((key, value) -> System.out.println(key + ": " + value));
}
}
```
在上面的例子中,我们使用`groupingBy`方法按照字符串的首字母进行分组,然后使用`counting`方法计算每个分组的数量。最后,我们通过遍历`groupCounts`的键值对来输出每个分组及其对应的数量。
执行上述代码,将会得到以下输出:
```
a: 2
b: 1
g: 1
k: 1
o: 1
p: 1
```
这表明字符串列表中的元素被分为了6个不同的组,每个组有不同的数量。
阅读全文
相关推荐


















