String类型用stream分组求和
时间: 2023-10-30 14:07:52 浏览: 134
Java8 stream 中利用 groupingBy 进行多字段分组求和案例
5星 · 资源好评率100%
可以使用Java 8的Stream API中的groupingBy和summingInt方法对String类型进行分组求和。
首先,假设我们有一个包含String类型的列表,例如:
List<String> strings = Arrays.asList("apple", "banana", "apple", "orange", "banana", "apple");
要对这些字符串进行分组求和,我们可以使用下面的代码:
Map<String, Integer> sumByGroup = strings.stream()
.collect(Collectors.groupingBy(Function.identity(), Collectors.summingInt(str -> 1)));
上述代码中,Function.identity()表示使用字符串本身作为分组条件。Collectors.summingInt(str -> 1)表示对每个分组中的元素进行计数。
最终,我们会得到一个Map对象,其中键是字符串,值是该字符串在列表中出现的次数。对于上述示例,结果将是:
{apple=3, banana=2, orange=1}
阅读全文