【Java】List去重 / 删除ArrayList中重复元素,保持顺序 / 提取两个list中不同的元素
/** * 删除ArrayList中重复元素,保持顺序 * * @param list 有重复的list * @return 去重后的list */ public static List removeDuplicateWithOrder(List list) { Set set = new HashSet(); List newList = new ArrayList(); for (Iterator iter = list.iterator(); iter.hasNext(); ) { Object element = iter.next(); if (set.add(element)) newList.add(element); } list.clear(); list.addAll(newList); return list; }
/** * 提取两个list中不同的元素 ** list1=["1","2","3"] * list2=["1","2","3","4"] * 则返回 ["4"] * *
@param list1 * @param list2 * @return */ public static ArrayListgetDifference(ArrayList list1, ArrayList list2) { ArrayList newData = new ArrayList<>(); for (String o : list1) { boolean isHave = true; for (String o1 : list2) { if (o.equals(o1)) { isHave = false; } } if (isHave) { newData.add(o); } } return newData; }