java stream List<A>转Map<String, List<A>>
时间: 2023-12-17 07:02:59 浏览: 167
可以使用Java Stream API中的collect方法将List转换为Map<String, List>。具体实现方法如下所示:
List<A> list = ...;
Map<String, List<A>> map = list.stream()
.collect(Collectors.groupingBy(a -> a.getLocation()));
其中,getLocation()是获取A对象中地理位置信息的方法。上述代码将List按照地理位置信息分组,并将结果存储在Map<String, List>中,其中Map的key为地理位置信息,value为该地理位置对应的A对象列表。
相关问题
java stream list<map> 转换成map<String,list>
可以使用Java Stream将List<Map<String, Object>>转换为Map<String, List
java8 list<对象> 转map<属性,List<属性>>
可以使用Java 8中的Stream API来实现List<对象>转换为Map<属性, List<属性>>。具体实现如下:
假设有一个类Person,包含属性name和age:
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
现在有一个List
Map<Integer, List<String>> ageToNamesMap = persons.stream()
.collect(Collectors.groupingBy(Person::getAge, Collectors.mapping(Person::getName, Collectors.toList())));
上述代码中,groupingBy方法用于按照年龄age分组,mapping方法用于将Person对象转换为对应的名字字符串,toList方法则将所有名字字符串收集到一个List中。
注意,如果有多个Person对象的年龄相同,它们的名字会被添加到同一个List中。
相关推荐
















