可以使用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://blog.csdn.net/qq_16607641/article/details/130711355