//方法1 //自己声明list for(int i=0;i<list1.size();i++) { for(int j=0;j<list2.size();j++) { if (list1.get(i).toString().equals(list2.get(j).toString()))//查找相同的元素 { list1.remove(i);//删除list1下标为i的元素 i--; //删除下标后list元素变少需要减少下标值,list不会和数组一样占用空间 break; } } } //方法2 //获取两个集合的差集 public List<?> removeAll(List<?> src, List<?> target) { LinkedList<?> result = new LinkedList<>(src); //大集合用linkedlist HashSet<?> targetHash = new HashSet<>(target); //小集合用hashset Iterator<?> iter = result.iterator(); //采用Iterator迭代器进行数据的操作 while(iter.hasNext()){ if(targetHash.contains(iter.next())){ iter.remove(); } } return result; }
原文地址:https://www.cnblogs.com/suncos/p/11111390.html
时间: 2024-10-03 15:48:15