【Java】List去重 / 删除ArrayList中重复元素,保持顺序 / 提取两个list中不同的元素
一、删除ArrayList中重复元素,保持顺序
/** * 删除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中不同的元素
/** * 提取两个list中不同的元素 * <p> * list1=["1","2","3"] * list2=["1","2","3","4"] * 则返回 ["4"] * * @param list1 * @param list2 * @return */ public static ArrayList<String> getDifference(ArrayList<String> list1, ArrayList<String> list2) { ArrayList<String> 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; }
如果忍耐算是坚强 我选择抵抗 如果妥协算是努力 我选择争取