javalist对象转list map
时间: 2023-11-22 16:48:02 浏览: 81
Java中可以使用Stream API将List对象转换为Map对象。具体实现可以参考以下代码:
1. 将id拼接name作为key,age作为value,转Map
```java
public void testListToMap1() {
// 创建一个List
List<User> list = new ArrayList<>();
list.add(new User(1,"Tom",10));
list.add(new User(2,"Tim",10));
list.add(new User(3,"Jim",10));
// 将List转换为Map
Map<String, Integer> map = list.stream()
.collect(Collectors.toMap(key -> key.getId()+"_"+key.getName(), value -> value.getAge(), (v1, v2) -> v1));
System.out.println(JSON.toJSON(map));
}
```
2. 将id作为key,每个元素作为value,转Map
```java
public void testListToMap2() {
// 创建一个List
List<User> list = new ArrayList<>();
list.add(new User(1,"Tom",10));
list.add(new User(2,"Tim",10));
list.add(new User(3,"Jim",10));
// 将List转换为Map
Map<Integer, User> map = list.stream()
.collect(Collectors.toMap(User::getId, value -> value, (v1, v2) -> v1));
System.out.println(JSON.toJSON(map));
}
```
注意:在使用Stream API将List转换为Map时,需要注意key的唯一性,否则会抛出`java.lang.IllegalStateException`异常。
阅读全文