java 对象list使用stream根据某一个属性转换成map的几种方式
•
Jave
可以使用Java 8中的Stream API将List转换为Map,并根据某个属性作为键或值。以下是一些示例代码:
将List转换为Map,键为某个属性,值为对象本身
List personList = ... // 假设这是一个Person对象列表
Map personMap = personList.stream()
.collect(Collectors.toMap(Person::getName, Function.identity()));
在这个示例中,将Person对象列表转换为Map,其中键为Person对象的name属性,值为Person对象本身。
将List转换为Map,键为对象本身,值为某个属性
List personList = ... // 假设这是一个Person对象列表
Map personMap = personList.stream()
.collect(Collectors.toMap(Function.identity(), Person::getAddress));
在这个示例中,将Person对象列表转换为Map,其中键为Person对象本身,值为Person对象的address属性。
将List转换为Map,键为某个属性,值为另一个属性
List personList = ... // 假设这是一个Person对象列表
Map personMap = personList.stream()
.collect(Collectors.toMap(Person::getName, Person::getAddress));
在这个示例中,将Person对象列表转换为Map,其中键为Person对象的name属性,值为Person对象的address属性。
无论使用哪种方式,都可以使用Java 8的Stream API将List转换为Map,并根据某个属性作为键或值。需要注意的是,在将List转换为Map时,键必须是唯一的,否则将会抛出异常。
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/842f5053c6.html
