java Stream API list转map, key 为list 吮吸
时间: 2025-02-21 08:52:59 浏览: 50
### 使用 Java Stream API 将 List 转换为 Map
为了实现这一目标,可以利用 `Stream.collect(Collectors.toMap())` 方法来完成转换操作。下面是一个具体的例子说明如何将列表中的元素作为键映射到一个新的哈希表中。
假设有一个字符串类型的列表:
```java
List<String> list = Arrays.asList("apple", "banana", "orange");
```
可以通过如下方式将其转化为映射结构,这里简单地让每个水果名称对应其自身的长度作为一个示范性的值[^1]。
```java
import java.util.*;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> list = Arrays.asList("apple", "banana", "orange");
Map<String, Integer> map = list.stream()
.collect(Collectors.toMap(
k -> k, // Key mapper function.
v -> v.length() // Value mapper function.
));
System.out.println(map);
}
}
```
这段代码会输出 `{apple=5, banana=6, orange=6}` 这样的结果集,表明成功创建了一个以原始列表项为键的新字典对象,并赋予了相应的整数值表示各个项目的字符数[^2]。
如果希望处理更复杂的情况,比如当存在重复键时,则可以在调用 `toMap()` 方法的时候提供第三个参数用于解决冲突的逻辑;或者通过自定义二元运算符来自定义合并策略[^3]。
阅读全文
相关推荐


















