成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java刪除ArrayList中的重復元素的2種方法

開發 后端
ArrayList是Java中最常用的集合類型之一。它允許靈活添加多個null元素,重復的元素,并保持元素的插入順序。在編碼時我們經常會遇 到那種必須從已建成的ArrayList中刪除重復元素的要求。這篇文章將給出兩種從ArrayList中刪除重復元素的方法。

ArrayList是Java中最常用的集合類型之一。它允許靈活添加多個null元素,重復的元素,并保持元素的插入順序。在編碼時我們經常會遇 到那種必須從已建成的ArrayList中刪除重復元素的要求。這篇文章將給出兩種從ArrayList中刪除重復元素的方法。

[[143685]]

方法1:使用HashSet刪除ArrayList中重復的元素

在該方法中,我們使用HashSet來刪除重復的元素。如你所知,HashSet不允許有重復的元素。我們使用HashSet的這個屬性來刪除已建 成的ArrayList中的重復元素。但是,這種方法有一個缺點。那就是,它會刪除ArrayList中元素的插入順序。這意味著,刪除重復的元素后,元 素的插入順序就不對了。先來看下面這個例子。

import java.util.ArrayList;
import java.util.HashSet;

public class MainClass
{
    public static void main(String[] args)
    {
        //Constructing An 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");

        //Printing listWithDuplicateElements

        System.out.print("ArrayList With Duplicate Elements :");

        System.out.println(listWithDuplicateElements);

        //Constructing HashSet using listWithDuplicateElements

        HashSet<String> set = new HashSet<String>(listWithDuplicateElements);

        //Constructing listWithoutDuplicateElements using set

        ArrayList<String> listWithoutDuplicateElements = new ArrayList<String>(set);

        //Printing listWithoutDuplicateElements

        System.out.print("ArrayList After Removing Duplicate Elements :");

        System.out.println(listWithoutDuplicateElements);
    }
}

輸出:

ArrayList With Duplicate Elements :[JAVA, J2EE, JSP, SERVLETS, JAVA, STRUTS, JSP]
ArrayList After Removing Duplicate Elements :[JAVA, SERVLETS, JSP, J2EE, STRUTS]

注意輸出結果。你會發現,在刪除重復元素之后,元素重新洗牌。不再按照插入順序排列。如果你想在刪除重復的元素之后依然保持元素的插入順序,那么不 建議使用此方法。還有另一種方法,可以保證在刪除重復的元素之后也不改變元素的插入順序。那就是使用LinkedHashSet。

方法2:使用LinkedHashSet刪除ArrayList中重復的元素

在該方法中,我們使用LinkedHashSet刪除ArrayList中重復的元素。正如你知道的,LinkedHashSet不允許重復元素, 同時保持元素的插入順序。LinkedHashSet的這兩個屬性可以確保在刪除ArrayList中的重復元素之后,依然保持元素的插入順序。參見下面 的例子。

import java.util.ArrayList;
import java.util.LinkedHashSet;

public class MainClass
{
    public static void main(String[] args)
    {
        //Constructing An 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");

        //Printing listWithDuplicateElements

        System.out.print("ArrayList With Duplicate Elements :");

        System.out.println(listWithDuplicateElements);

        //Constructing LinkedHashSet using listWithDuplicateElements

        LinkedHashSet<String> set = new LinkedHashSet<String>(listWithDuplicateElements);

        //Constructing listWithoutDuplicateElements using set

        ArrayList<String> listWithoutDuplicateElements = new ArrayList<String>(set);

        //Printing listWithoutDuplicateElements

        System.out.print("ArrayList After Removing Duplicate Elements :");

        System.out.println(listWithoutDuplicateElements);
    }
}

輸出:

ArrayList With Duplicate Elements :[JAVA, J2EE, JSP, SERVLETS, JAVA, STRUTS, JSP]
ArrayList After Removing Duplicate Elements :[JAVA, J2EE, JSP, SERVLETS, STRUTS]

注意輸出。你可以發現在刪除ArrayList中的重復元素后,依然保持了元素的插入順序。

 

 

 

譯文鏈接:http://www.codeceo.com/article/java-arraylist-remove-duplicate-ele.html
英文原文:How To Remove Duplicate Elements From ArrayList In Java?

 

責任編輯:王雪燕 來源: 碼農網
相關推薦

2012-01-12 13:24:55

Java

2015-03-25 11:42:52

Java刪除特定元素

2012-05-29 15:29:14

JavaArrayList

2022-01-20 09:58:44

Python元素列表

2020-11-13 09:14:23

Linux重復文件命令行

2010-09-02 10:36:51

SQL刪除

2009-11-25 16:36:29

PHP刪除數組重復元素

2024-10-16 18:09:54

2021-11-02 07:54:40

List分片Java

2017-06-09 13:51:42

Linux命令刪除文件

2010-11-15 14:42:03

Oracle查詢重復記

2021-12-20 07:11:26

Java List排序 Java 基礎

2010-07-01 12:29:27

SQL Server重

2023-11-23 13:43:24

Python列表

2021-03-08 09:32:04

Python文件命令

2010-10-22 16:29:11

SQL Server刪

2010-09-01 16:47:18

SQL刪除

2010-04-12 13:25:10

Oracle 數據庫

2010-05-20 11:50:08

MySQL訪問限制

2010-07-01 11:57:55

SQL Server日
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国户精品久久久久久久久久久不卡 | 国产精品视频999 | 超碰av免费 | 国产精品自产av一区二区三区 | 国产高清在线观看 | 日韩av在线一区 | 欧美性生交大片免费 | 成人久久18免费 | 色av一区二区三区 | 日韩福利在线 | 91 视频网站 | 超碰97人人人人人蜜桃 | 亚洲精品片 | 精品国产一区二区三区久久 | 亚洲精品不卡 | 99精品国产一区二区三区 | 婷婷综合色 | 国产精品69久久久久水密桃 | 中文字幕精品一区二区三区精品 | 欧美三级三级三级爽爽爽 | 婷婷二区| 日韩在线观看中文字幕 | av一区二区三区在线观看 | www四虎影视 | 久久午夜精品福利一区二区 | 91精品国产综合久久久动漫日韩 | 亚洲精品国产偷自在线观看 | 欧美操操操 | 欧美成人精品一区二区男人看 | 国产一区二区三区在线 | 一级黄片一级毛片 | 久久精品成人 | 农村妇女毛片精品久久久 | 2020亚洲天堂 | 黄色大片免费网站 | 成人国产a| 自拍偷拍中文字幕 | 成人在线中文字幕 | 北条麻妃一区二区三区在线视频 | 在线成人精品视频 | 精品国产伦一区二区三区观看方式 |