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 + " ");
 }

追问

可能我没有说清楚,就是这两个数组都是用来存储下标的,比如:index1[] = {0,3,2} , index2={0,1,2,3,4,5},我该怎么样去除数组index2[]和index1[]中重复的数!谢谢

追答

最终结果你是保留一个数组还是两个数组都要存在只是把index2里面的重复数去掉?

如果是只去掉index2里面的重复数字的话可以这么写:

public static void main(String[] args) {
Integer[] index1 = {0,3,2};
Integer[] index2= {0,1,2,3,4,5};
List<Integer> list2 = new ArrayList<Integer>(Arrays.asList(index2));//把index2转换成list
for(Integer i : index1){
if(list2.contains(i))//如果list2中存在index1中的元素就去掉这个元素
list2.remove(i);
}
System.out.println(list2);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-09

    使用Set集合处理即可,因为Set集合有特性,自动去除重复的元素;

    只要循环数组,添加到set中就可以实现了。

第2个回答  2013-04-28
思想大概就是新建一个数组,然后把原数组的值放入新数组,检查有没有已存在的,放不进去的就是重复的,新数组就是你需要的
第3个回答  2013-04-28
恩,把数组转换成set集合再转回去就行,
第4个回答  2015-06-17
遍历数组,将值放入TreeSet集合,这个集合不允许重复,而且这个效率比较高
相似回答