删除arraylist中的重复元素的方法

 ArrayList<String> listWithDuplicateElements = new ArrayList<String>();
        listWithDuplicateElements.add("JAVA");
        listWithDuplicateElements.add("J2EE");
        listWithDuplicateElements.add("JSP");
        listWithDuplicateElements.add("SERVLETS");
        listWithDuplicateElements.add("JAVA");
        listWithDuplicateElements.add("STRUTS");
        listWithDuplicateElements.add("JSP");

使用HashSet来删除重复的元素。如你所知,HashSet不允许有重复的元素。我们使用HashSet的这个属性来删除已建 成的ArrayList中的重复元素。但是,这种方法有一个缺点。那就是,它会删除ArrayList中元素的插入顺序。这意味着,删除重复的元素后,元 素的插入顺序就不对了
//        System.out.print("ArrayList With Duplicate Elements :");
//        System.out.println(listWithDuplicateElements);
//        HashSet<String> set = new HashSet<String>(listWithDuplicateElements);
//        ArrayList<String> listWithoutDuplicateElements = new ArrayList<String>(set);
//        System.out.print("ArrayList After Removing Duplicate Elements :");
//        System.out.println(listWithoutDuplicateElements);

使用LinkedHashSet删除ArrayList中重复的元素。正如你知道的,LinkedHashSet不允许重复元素, 同时保持元素的插入顺序。LinkedHashSet的这两个属性可以确保在删除ArrayList中的重复元素之后,依然保持元素的插入顺序
        System.out.print("ArrayList With Duplicate Elements :");
        System.out.println(listWithDuplicateElements);
        LinkedHashSet<String> set = new LinkedHashSet<String>(listWithDuplicateElements);
        ArrayList<String> listWithoutDuplicateElements = new ArrayList<String>(set);
        System.out.print("ArrayList After Removing Duplicate Elements :");
        System.out.println(listWithoutDuplicateElements);

猜你喜欢

转载自blog.csdn.net/u010365819/article/details/79204848