日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 两个数组去重复数据_Java实现数组去除重复数据的方法详解

發布時間:2025/3/19 java 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 两个数组去重复数据_Java实现数组去除重复数据的方法详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文實例講述了Java實現數組去除重復數據的方法。分享給大家供大家參考,具體如下:

前一段時間被面試問到:如果一個數組中有重復元素,用什么方法可以去重?一時間會想到用一種方法,但是后來查閱資料后發現,有好多方法可以實現,現在就總結一下,比較簡單的幾種。

一.用List集合實現

int[] str = {5,6,8,7,4};

List list = new ArrayList();

for (int i=0; i

if(!list.contains(str[i])) {

list.add(str[i]);

}

}

System.out.println("去除重復后的list集合"+list);

輸出結果是:

去除重復后的list集合[5,4]

可以看到可以去除重復的元素,但是沒有實現排序功能。

二.用hashSet或者TreeSet實現

Integer[] nums = { 5,5,11,12,12 };

// HashSet hset = new HashSet(Arrays.asList(nums));

TreeSet hset = new TreeSet(Arrays.asList(nums));

Iterator i = hset.iterator();

while(i.hasNext()){

System.out.println(i.next());

}

輸出結果:

5 6 7 8 11 12

可以看到不僅去除了重復數據,而且將數據進行了排序。

其中Arrays.asList()是將一個數組轉化為一個List對象,這個方法會返回一個ArrayList類型的對象, 這個ArrayList類并非java.util.ArrayList類,而是Arrays類的靜態內部類!

TreeSet不僅可以使元素不重復,而且可以實現排序等功能的集合,它在對象元素添加到集合中時會自動按照某種比較規則將其插入到有序的對象序列中。

三.用List和set實現

int[] nums = { 5,7 };

List numList = new ArrayList();

for (int i : nums)

numList.add(i);

Set numSet = new HashSet();

numSet.addAll(numList);

System.out.println(numSet);

輸出結果:

[5,8]

可以看出,也是去掉重復的數據,并且實現了排序。

我們來做一個HashSet和TreeSet的比較:

HashSet

HashSet有以下特點

1) 不能保證元素的排列順序,順序有可能發生變化

2) 不是同步的

3) 集合元素可以是null,但只能放入一個null

當向HashSet集合中存入一個元素時,HashSet會調用該對象的hashCode()方法來得到該對象的hashCode值,然后根據 hashCode值來決定該對象在HashSet中存儲位置。

簡單的說,HashSet集合判斷兩個元素相等的標準是兩個對象通過equals方法比較相等,并且兩個對象的hashCode()方法返回值相等

注意,如果要把一個對象放入HashSet中,重寫該對象對應類的equals方法,也應該重寫其hashCode()方法。其規則是如果兩個對 象通過equals方法比較返回true時,其hashCode也應該相同。另外,對象中用作equals比較標準的屬性,都應該用來計算 hashCode的值。

TreeSet類

TreeSet是SortedSet接口的唯一實現類,TreeSet可以確保集合元素處于排序狀態。TreeSet支持兩種排序方式,自然排序 和定制排序,其中自然排序為默認的排序方式。向TreeSet中加入的應該是同一個類的對象。

TreeSet判斷兩個對象不相等的方式是兩個對象通過equals方法返回false,或者通過CompareTo方法比較沒有返回0

自然排序

自然排序使用要排序元素的CompareTo(Object obj)方法來比較元素之間大小關系,然后將元素按照升序排列。

Java提供了一個Comparable接口,該接口里定義了一個compareTo(Object obj)方法,該方法返回一個整數值,實現了該接口的對象就可以比較大小。

obj1.compareTo(obj2)方法如果返回0,則說明被比較的兩個對象相等,如果返回一個正數,則表明obj1大于obj2,如果是 負數,則表明obj1小于obj2。

如果我們將兩個對象的equals方法總是返回true,則這兩個對象的compareTo方法返回應該返回0

定制排序

自然排序是根據集合元素的大小,以升序排列,如果要定制排序,應該使用Comparator接口,實現 int compare(T o1,T o2)方法。

最重要:

1、TreeSet 是二差樹實現的,Treeset中的數據是自動排好序的,不允許放入null值。

2、HashSet 是哈希表實現的,HashSet中的數據是無序的,可以放入null,但只能放入一個null,兩者中的值都不能重復,就如數據庫中唯一約束。

3、HashSet要求放入的對象必須實現HashCode()方法,放入的對象,是以hashcode碼作為標識的,而具有相同內容的 String對象,hashcode是一樣,所以放入的內容不能重復。但是同一個類的對象可以放入不同的實例 。

PS:本站還有兩款比較簡單實用的在線文本去重復工具,推薦給大家使用:

希望本文所述對大家java程序設計有所幫助。

相關文章

總結

如果覺得編程之家網站內容還不錯,歡迎將編程之家網站推薦給程序員好友。

本圖文內容來源于網友網絡收集整理提供,作為學習參考使用,版權屬于原作者。

如您喜歡交流學習經驗,點擊鏈接加入交流1群:1065694478(已滿)交流2群:163560250

總結

以上是生活随笔為你收集整理的java 两个数组去重复数据_Java实现数组去除重复数据的方法详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天色天天射天天干 | 日本十八禁视频无遮挡 | 久久538 | 视频一区免费 | 久久久国产成人一区二区三区 | 麻豆免费在线观看视频 | 欧美成人不卡 | 中文字幕在线三区 | 国产三级中文字幕 | 亚洲2022国产成人精品无码区 | 欧美一级生活片 | 青草视频污 | 丰满熟女一区二区三区 | 久久久久久久久久久久久久久久久久久久 | 国产精品无码网站 | 日韩精品无码一本二本三本色 | 悠悠色在线 | 一区二区麻豆 | 亚洲永久免费网站 | 亚洲大片| a级片在线播放 | 日韩在线一二 | 日本视频黄色 | 强辱丰满人妻hd中文字幕 | 精品一二区 | 人人插人人澡 | 国产视频在线观看一区 | 日韩欧美三级在线 | 亚洲色图国产视频 | 欧美三级大片 | 狠狠躁夜夜躁人人爽视频 | 69精品人人人人 | 一二三四视频社区在线 | 日韩视频免费观看高清完整版在线观看 | 动漫玉足吸乳羞免费网站玉足 | 中国大陆高清aⅴ毛片 | 午夜亚洲AV永久无码精品蜜芽 | 一区二区三区有限公司 | 日韩精品一二三四 | 国语粗话呻吟对白对白 | 超碰人人人人人 | 能直接看的av网站 | 欧洲a级片 | 免费无遮挡无码永久在线观看视频 | 国产在线观看第一页 | 99re在线| 国产福利视频在线观看 | 男人插女人免费视频 | 亚洲国产免费看 | 性色在线观看 | 久久久久久免费观看 | 丝袜操 | 黄色一大片 | 日本男女网站 | 欧美一卡二卡三卡四卡 | 国产乱淫av公 | 人妖粗暴刺激videos呻吟 | 日韩中文字幕一区二区 | 日韩系列在线 | 丁香六月婷婷综合 | 黄色.com| 亚洲欧美精品aaaaaa片 | 锦绣未央在线观看 | 国产视频一二三 | 一区二区不卡在线观看 | jizz在亚洲 | 成人午夜在线 | 国内精品久久久久久久影视简单 | 亚洲第九十七页 | 亚洲精品喷潮一区二区三区 | 国产噜噜噜噜噜久久久久久久久 | 色爽爽爽爽爽爽爽爽 | 日韩欧美国产视频 | 欧美激情视频在线观看 | 成人网在线免费观看 | 国产在线观看不卡 | 亚洲色图综合网 | 免费高清毛片 | 视频免费在线观看 | 久久久69 | 欧美乱妇日本无乱码特黄大片 | 亚洲一区中文字幕在线观看 | 免费在线视频你懂的 | 国产高清www | 内地级a艳片高清免费播放 91在线精品一区二区 | 老司机深夜网站 | 成人在线欧美 | av夜色 | 欧美xxxⅹ性欧美大片 | www.麻豆av.com | 91视频免费 | 国产精品成 | 在线观看免费毛片 | 97公开免费视频 | 四虎国产精品永久在线国在线 | 欧美日一区二区三区 | 特级毛片在线 | av福利在线免费观看 | 风韵少妇性饥渴推油按摩视频 |