java list 对象集合根据对象里两个字段转map
时间: 2023-07-21 10:46:07 浏览: 156
不用遍历的方式在对象集合list中抽取属性集合转化为map或list
5星 · 资源好评率100%
可以使用Java 8的Stream API来实现根据对象里两个字段转换为Map的功能。假设有一个对象集合List<Person>,其中Person类有两个字段name和age,可以使用以下代码将其转换为Map<String, Integer>,其中key为name,value为age:
```
Map<String, Integer> map = list.stream()
.collect(Collectors.toMap(Person::getName, Person::getAge));
```
其中getName和getAge是Person类的方法,可以根据实际情况替换为其他方法。如果需要根据多个字段转换为Map,可以使用以下代码:
```
Map<String, Integer> map = list.stream()
.collect(Collectors.toMap(p -> p.getName() + ":" + p.getAge(), Person::getScore));
```
其中getName、getAge和getScore是Person类的方法,getName和getAge用于构造Map的key,getScore用于构造Map的value。
阅读全文