導航:首頁 > 編程語言 > 去重復javaset

去重復javaset

發布時間:2022-06-21 15:53:18

java中怎麼樣子找出數組中重復的數,並去除


public static void main(String[] args) {
//可以換種思路,把數組放到set裡面(set的值不會重復)就可以去重了
Integer[] arr = {85,4,2,6,11,4,5,8,9};
Set<Integer> set = new HashSet<Integer>();
for(Integer i : arr)
set.add(i);
for(Object j: set.toArray())
System.out.print(j + " ");
}

② JAVA如何去除數組中每個元素中重復的內容

java數組中去掉重復數據可以使用set集合,set本身內部是不保存重復的數據的,如下代碼:


importjava.util.Arrays;importjava.util.Set;importjava.util.TreeSet;publicclassceshi{publicstaticvoidmain(String[]args){int[]testArr={5,5,1,2,3,6,-7,8,6,45,5};//新建一個int類型數組System.out.println(Arrays.toString(testArr));Set<Integer>set=newTreeSet<Integer>();//新建一個set集合for(inti:testArr){set.add(i);}Integer[]arr2=set.toArray(newInteger[0]);//數組的包裝類型不能轉只能自己轉;吧Integer轉為為int數組;int[]result=newint[arr2.length];for(inti=0;i<result.length;i++){result[i]=arr2[i];}System.out.println(Arrays.toString(arr2));}}

運行結果如下:

③ java 集合set類中是如何實現數據不能重復的

Set 有個 add 方法是將元素添加到 Set 中,以 HashSet 為例。

publicbooleanadd(Ee){
returnmap.put(e,PRESENT)==null;
}

可以看到,HashSet 底層的數據結構是一個HashMap<E,Object> ,將 e 作為 HashMap 的 key 保存的。而 HashMap 的底層數據結構是 HashTable ,根據 HashMap 的 key 的HashCode 去 HashTable (具體實現是數組+鏈表) 里找到元素的位置。如果同一個對象(使用equals 來比較兩個對象是否相同,具體是比較對象的 hashCode() 是否相同) 往Set 里放,最終放到 HashTable 的位置是相同的。具體判斷Set 是否包含某個對象,調用的是Set的contains(Object o) 方法,它內部也是通過計算 o 的hashCode 去查找該元素是否存在的。

如果題主是新學習Java的同學,建議重點學習一下常用集合的數據結構,對於掌握Java這門語言非常有幫助。

④ java去重(不重復的去掉,重復的只去掉一次)

importjava.util.HashSet;
importjava.util.Set;

publicclassTest1{
privatestaticfinalSet<String>str=newHashSet<>();
publicstaticvoidmain(Stringargs[]){
Test1.add("1");
Test1.add("2");
Test1.add("2");
Test1.add("1");
Test1.add("3");
Test1.add("2");
}

publicstaticvoidadd(StringtoAdd){
if(!str.add(toAdd))System.out.println(toAdd);
}
}

⑤ 使用java集合去除一組數字中的重復項,並列印輸出

publicclassRemoveDuplicate{
privatestaticint[]array={1,2,3,3,3,4,5,6,6,7};
publicstaticvoidremove(){
Set<Integer>set=newHashSet<>();
for(inti:array){
if(!set.add(i)){
System.out.println(i);
}
}
System.out.println(set.toString());
}

publicstaticvoidmain(String[]args){
RemoveDuplicate.remove();
}
}

以上是java代碼。可以利用set 的元素的唯一性來完成你的要求。

set.add() 方法 如果添加失敗那麼會返回false,也就意味著裡面已經有了一個同樣的元素。

當然這個方法未必是最好的。可以利用一些更巧妙的方法達成。那樣速度和效率都會更高。

(有部分人不知道為什麼我的代碼newHashSet<>裡面沒有指定類型。那麼請參考java1.7新特性)

⑥ Java數組去重復問題

最簡單的方式,我覺得效率也比較高的! 你建一個set。TreeSet吧,把組數組裡面的數據取出來一個一個放入set。最後set裡面的數據就是沒有重復的了!把set再放回ArrayList就OK。好處是,不管List有多大,放入的時候都是一個一個放的。我嘗試過給6萬條數據去重復,效率還是可以的

⑦ java中的set集合是如何去重復的

如何兩個對象的hashcode不一致或者調用equals方法結果為false,則認為是不重復的。

⑧ java set集合不可重復的意思

set 的equals是內容相等.
如果沒有重寫過的equals就是HashCode值相等,可以理解為地址.
重寫過的,就要看對應的equals方法的說明了,根據實際用途來做,一般都是跟內容有關

⑨ java set集合自動重復的值 我想要set里去除了重復的值怎樣獲得呀

參考代碼

importjava.util.Arrays;
importjava.util.HashSet;
importjava.util.Set;

publicclassP21_44{
publicstaticvoidmain(String[]args){
int[]arry={1,2,3,5,6,8,2,1,3,2,9};
Set<Integer>set=newHashSet<Integer>();//HashSet無序不重復集合
for(inti=0;i<arry.length;i++){
set.add(arry[i]);
}
System.out.println(Arrays.toString(arry));
System.out.println(set);
}
}

運行測試

[1,2,3,5,6,8,2,1,3,2,9]
[1,2,3,5,6,8,9]

⑩ java 集合 Set 判斷重復

set也就是數學中的集合,集合里的元素是不能重復的,例如:1,2,3是集合,但1,2,1就不是集合,因為1重復了,同樣,java
set里的元素也是不能重復的,重復的話,只會保存一份。

閱讀全文

與去重復javaset相關的資料

熱點內容
二進制流轉pdf 瀏覽:915
php判斷爬蟲 瀏覽:569
960除24除4簡便演算法 瀏覽:786
關於解壓英語翻譯 瀏覽:565
python控制鍵盤右鍵 瀏覽:920
php沒有libmysqldll 瀏覽:828
時政新聞app哪個好 瀏覽:906
手機已加密怎麼辦 瀏覽:201
安卓手機截屏怎麼傳到蘋果 瀏覽:527
京管家app哪裡下載 瀏覽:33
文件夾橫向排列的豎向排列 瀏覽:453
51單片機驅動攝像頭模塊 瀏覽:689
政府文件加密沒法轉換 瀏覽:373
android判斷棧頂 瀏覽:331
憑證軟體源碼 瀏覽:860
androidwebview滾動事件 瀏覽:11
如何將電腦上的圖片壓縮成文件包 瀏覽:899
程序員轉金融IT 瀏覽:837
黑馬程序員培訓效果如何 瀏覽:915
本地集成編譯 瀏覽:528