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原创文章,未经本站允许不得转载。