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);
}
展开全部
使用Set集合处理即可,因为Set集合有特性,自动去除重复的元素;
只要循环数组,添加到set中就可以实现了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
思想大概就是新建一个数组,然后把原数组的值放入新数组,检查有没有已存在的,放不进去的就是重复的,新数组就是你需要的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
恩,把数组转换成set集合再转回去就行,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
遍历数组,将值放入TreeSet集合,这个集合不允许重复,而且这个效率比较高
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询