成人免费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重復文件命令行

2024-10-16 18:09:54

2010-09-02 10:36:51

SQL刪除

2021-11-02 07:54:40

List分片Java

2009-11-25 16:36:29

PHP刪除數組重復元素

2017-06-09 13:51:42

Linux命令刪除文件

2021-12-20 07:11:26

Java List排序 Java 基礎

2010-11-15 14:42:03

Oracle查詢重復記

2021-03-08 09:32:04

Python文件命令

2010-07-01 12:29:27

SQL Server重

2010-05-20 11:50:08

MySQL訪問限制

2010-10-22 16:29:11

SQL Server刪

2010-07-01 11:57:55

SQL Server日

2010-04-12 13:25:10

Oracle 數據庫

2010-09-01 16:47:18

SQL刪除

2010-11-10 13:28:06

SQL Server刪
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线视频免费观看 | 视频一区二区在线 | 91精品无人区卡一卡二卡三 | 中文字幕韩在线第一页 | 欧洲性生活视频 | 中文字幕一区二区三区四区 | 97国产一区二区精品久久呦 | 欧美日韩在线国产 | h视频免费在线观看 | 日韩精品在线一区 | 国产99久久精品一区二区永久免费 | 国产精久久久久久久妇剪断 | 日韩中文字幕一区二区 | 国产你懂的在线观看 | 久久国产成人午夜av影院武则天 | 欧美精品一区二区三区一线天视频 | 欧美精品中文字幕久久二区 | 欧美无乱码久久久免费午夜一区 | 亚洲a人 | 一区二区伦理电影 | 亚洲成人三级 | 91精品国产91 | 国产精品综合视频 | 精品国产乱码久久久久久蜜退臀 | 男人的天堂久久 | 国产精品久久久久久久久久久久午夜片 | 波多野结衣中文字幕一区二区三区 | 亚洲国产精品一区二区第一页 | 午夜看看 | 欧美一区二区三区在线免费观看 | 国产一区二区在线看 | 日本中出视频 | 精品一区二区免费视频 | 91免费观看视频 | 国产精品视频一二三区 | 国产综合久久 | 久久久久精 | 国产高清美女一级a毛片久久w | 日本黄色一级视频 | 日韩喷潮 | 欧美一级一区 |