【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 ArrayList getDifference(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; }