可以使用Java 8中的Stream API将List转换为Map,并根据某个属性作为键或值。以下是一些示例代码:

将List转换为Map,键为某个属性,值为对象本身

List<Person> personList = ... // 假设这是一个Person对象列表
Map<String, Person> personMap = personList.stream()
        .collect(Collectors.toMap(Person::getName, Function.identity()));

在这个示例中,将Person对象列表转换为Map,其中键为Person对象的name属性,值为Person对象本身。

将List转换为Map,键为对象本身,值为某个属性


List<Person> personList = ... // 假设这是一个Person对象列表
Map<Person, String> personMap = personList.stream()
        .collect(Collectors.toMap(Function.identity(), Person::getAddress));

在这个示例中,将Person对象列表转换为Map,其中键为Person对象本身,值为Person对象的address属性。

将List转换为Map,键为某个属性,值为另一个属性

List<Person> personList = ... // 假设这是一个Person对象列表
Map<String, String> personMap = personList.stream()
        .collect(Collectors.toMap(Person::getName, Person::getAddress));

在这个示例中,将Person对象列表转换为Map,其中键为Person对象的name属性,值为Person对象的address属性。

无论使用哪种方式,都可以使用Java 8的Stream API将List转换为Map,并根据某个属性作为键或值。需要注意的是,在将List转换为Map时,键必须是唯一的,否则将会抛出异常。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐