两个存对象的List,求并集
程序员文章站
2022-03-22 08:18:11
...
比较对象的某几个字段,相等则表示对象相等,求并集:
将对象的那几个字段拼成一个String存于map中作为key, 对象作为value,代码如下:
/******对象定义********/
Class Obj{
int attr1;
String attr2;
String attr3;
String attr4;
@getter//有get与set方法
@setter
}
public List<Obj> getUnion(List<Obj> obj1List, List<Obj> obj2List){
List<Obj> unionList= new ArryList<>();
Map<String, Obj> = new HashMap<>();
//遍历obj1List 存取map中
for(Obj obj : obj1List){
String key = obj.getAttr2() + obj.getAttr3();
map.put(key, obj);
}
//遍历obj2List 存取map中,若有相同的key则会覆盖之前的值,将新对象存入
for(Obj obj : obj2List){
String key = obj.getAttr2() + obj.getAttr3();
map.put(key, obj);
}
for (Map.Entry<String, Obj> entry : map.entrySet()) {
unionList.add(entry.getValue());
}
return unionList;
}
考虑不全面还请多指教。
上一篇: Python编程之逆序打印
下一篇: 5个计算天数的批处理代码第1/3页