① 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本身內部是不保存重復的數據的,如下代碼:
運行結果如下:
③ 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里的元素也是不能重復的,重復的話,只會保存一份。