在Java中去掉一個數組中的重複元素,你知道幾種?

編程語言 Java 面試 技術 慕司專屬的小司 2018-12-08

記得有一次筆者去面試的時候,面試官曾問過一個問題,當一個數組中存在重複元素的時候,有多少種比較好的辦法去掉數組中的重複元素?

在Java中去掉一個數組中的重複元素,你知道幾種?

客官,你知道幾種?

現在筆者來分享一下當初筆者是如何回答的!

第一種

想來大多數人肯定首先想到的是使用set集合,畢竟set集合是不允許存在兩個重複的元素的。

實現

int [] array = {1,1,2,2,3,3};
List<Integer> list = new ArrayList<Integer>();
for(int i=0;i<array.length;i++) {
list.add(array[i]);
}

Set<Integer> set = new HashSet<Integer>();
set.addAll(list);
System.out.println(set);
}

結果

在Java中去掉一個數組中的重複元素,你知道幾種?

第二種,使用List集合的contains()方法,contains()方法檢查數組是否已經擁有這個元素,存在則返回true

int [] array = {1,1,2,2,3,3};
List<Integer> list = new ArrayList<Integer>();
for(int i:array) {
if(!list.contains(i)) {
list.add(i);
}
}

System.out.println(list);
}
在Java中去掉一個數組中的重複元素,你知道幾種?

當初筆者就是這樣回答了面試官,正在看的你是否還知道還有那種比較好的方法解決數組元素重複的問題?不妨拿出來分享一下

相關推薦

推薦中...