首页 > 基础教程 > 集合框架 > ArrayList类
Java ArrayList合并并删除重复数据3种方法
1. 通过List自带方法list.retainAll()
List temp=new ArrayList(l1);//用来保存两者共同有的数据
temp.retainAll(l2);//temp中只保留两者共同的数据
l1.removeAll(temp);//l1中去掉两者共同有的数据
List l3=new ArrayList();
l3.addAll(l1);
l3.addAll(l2);
System.out.println(l3);
2. 构造Set集合。Set集合本身是不允许重复记录的
Set s=new TreeSet(l1);
for(Integer i:l2){
//当添加不成功的时候 说明s中已经存在该对象
s.add(i);
}
System.out.println(s);
3. 遍历列表,对比数据
public static ArrayList addArrayList(ArrayList list1, ArrayList list2) {
ArrayList list3 = new ArrayList();
if (list1 == null || list1.size() == 0) {
list3 = list2;
} else if (list2 == null || list2.size() == 0) {
list3 = list1;
} else {
for (int i = 0; i < list1.size(); i++) { // 遍历list1
boolean isExist = false;
for (int j = 0; j < list2.size(); j++) {
if (list1.get(i).equals(list2.get(j))) {
isExist = true; // 找到相同项,跳出本层循环
break;
}
}
if (!isExist) { // 不相同,加入list3中
list3.add(list1.get(i));
}
}
for (int k = 0; k < list2.size(); k++) {
list3.add(list2.get(k));
}
}
return list3;
}
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。