使用stream流 将list 转为map,key相等时 取出前者的值加上后者的值 赋值给新的值
时间: 2023-05-19 16:03:00 浏览: 95
可以使用Java 8的Stream API来实现这个功能,代码如下:
```
List<String> list = Arrays.asList("a", "b", "c", "a", "d", "b");
Map<String, Integer> map = list.stream()
.collect(Collectors.toMap(Function.identity(), s -> 1, Integer::sum));
System.out.println(map);
```
这段代码将一个字符串列表转换为一个字符串到整数的映射,其中字符串的值是列表中的元素,整数的值是该元素在列表中出现的次数。如果有多个元素具有相同的字符串值,则将它们的计数相加。最终的输出将是:
```
{a=2, b=2, c=1, d=1}
```
这个映射将每个字符串映射到它在列表中出现的总次数。
阅读全文