使用stream流 将list 转为map,key相等时 value 累加
时间: 2023-05-19 09:02:55 浏览: 111
可以使用Java 8中的stream流来将list转为map,并且在key相等时将value累加。具体代码如下:
```
List<String> list = Arrays.asList("apple", "banana", "orange", "apple", "orange");
Map<String, Integer> map = list.stream()
.collect(Collectors.toMap(Function.identity(), v -> 1, Integer::sum));
System.out.println(map);
```
输出结果为:{orange=2, banana=1, apple=2}
这段代码将list中的元素作为key,初始值为1作为value,使用Integer::sum函数将相同key的value值累加。
相关问题
使用stream流 将list 转为map,key相等时 取出前者的值加上后者的值 赋值给新的值
可以使用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}
```
这个映射将每个字符串映射到它在列表中出现的总次数。
通过stream流将List转为Map
可以使用Java 8中的Stream API来将List转为Map。具体实现可以使用Collectors.toMap()方法,该方法接受两个参数,第一个参数是用于生成Map的键的函数,第二个参数是用于生成Map的值的函数。例如:
List<String> list = Arrays.asList("apple", "banana", "orange");
Map<String, Integer> map = list.stream().collect(Collectors.toMap(Function.identity(), String::length));
这个例子中,我们将List中的字符串作为Map的键,字符串的长度作为Map的值。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)