记得有一次笔者去面试的时候,面试官曾问过一个问题,当一个数组中存在重复元素的时候,有多少种比较好的办法去掉数组中的重复元素?
客官,你知道几种?
现在笔者来分享一下当初笔者是如何回答的!
第一种
想来大多数人肯定首先想到的是使用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); }
结果
第二种,使用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); }
当初笔者就是这样回答了面试官,正在看的你是否还知道还有那种比较好的方法解决数组元素重复的问题?不妨拿出来分享一下