这反应在工作项目中的应用,比如按城市建立主机群,一个城市可以对应一个主机群,主机群的属性也含有城市,面向对象语言确实更适合工作
切莫无脑copy没什么用,一定搞懂,有错欢迎提出
public class User {
private int id;
private String name;
private String city;
public User(int id, String name, String city) {
this.id = id;
this.name = name;
this.city = city;
}
}
给出下面静态方法的实现,传入封装User类型元素的List集合,将集合中元素,以城市名称为键,相同城市用户集合为值,分组存入Map中,并返回。 一个城市,是键,键对应多个值,一对多,一个Map集合键为字符串,相同用户集合为值说明套娃
使用set集合存用户保证不同
public static Map<String, Set<User>> putListValuetoMap(List<User> users) {
使用迭代器遍历时城市名倒是直接map.
Map<String,set<user>> map=new HashMap<>();
user.forEach(u->{
if(!map.containKey(u.city)){
Set<User> a=new Hashset<>();
a.add(u);
map.put(u.city,a);将更新后的这组键值对传入大集合
}else{
Set<user> a=map.get(u.city);
a.add(u);
map.put(u.city,a);
}
});
return map;
}
|