假设 Person 类中有一个属性为 name,那么可以使用 Java8 的 Stream 和 Collectors 来实现将 List 转换为 Map<String, List> 的转换。

Map<String, List<String>> map = personList.stream()
    .collect(Collectors.groupingBy(Person::getName,
             Collectors.mapping(Person::getKey, Collectors.toList())));

其中,groupingBy 方法将 Person 对象按照 name 属性进行分组,mapping 方法将 Person 对象转换为其对应的 key 属性值,并将所有 key 属性值存储到一个 List 中。最终得到的结果是一个 Map,其中 key 为每个不同的 name 属性值,value 为包含该 name 属性值对应的所有 Person 对象的 key 属性值的 List。

Java8 List<Person> 转换为 Map<String, List<String>>:使用 Stream 和 Collectors

原文地址: https://www.cveoy.top/t/topic/nlLv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录