Java中如何去除List中的重复的值
3个回答
展开全部
属性是????
先给你一个看看是不是你需要的好了,
12345678910111213 // 利用 Set 的特性,将所有项目放入 Set //中即可移除重复的项目 Set<String> stringSet = new HashSet<String>(); for (String element : duplicateArray) { stringSet.add(element); } // Set.size() 为不重复项目的个数 String nonDuplicateArray[] = new String[stringSet.size()]; // 将 Set 中的项目取出放到 nonDuplicateArray 中 Object[] tempArray = stringSet.toArray(); for (int i = 0; i < tempArray.length; i++) { nonDuplicateArray[i] = (String) tempArray[i]; }
先给你一个看看是不是你需要的好了,
12345678910111213 // 利用 Set 的特性,将所有项目放入 Set //中即可移除重复的项目 Set<String> stringSet = new HashSet<String>(); for (String element : duplicateArray) { stringSet.add(element); } // Set.size() 为不重复项目的个数 String nonDuplicateArray[] = new String[stringSet.size()]; // 将 Set 中的项目取出放到 nonDuplicateArray 中 Object[] tempArray = stringSet.toArray(); for (int i = 0; i < tempArray.length; i++) { nonDuplicateArray[i] = (String) tempArray[i]; }
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2017-08-15
展开全部
直接放入set中。如果List的泛型是基本类型(封装类)或String,可以直接这样做。但是泛型是你自己写的类,就需要你把这个类重写equals和hashCode方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以利用Map的key不重复特性:
遍历List,遍历过程中将List中取出的值作为key保存到一个临时的Map中,Map的value可以自己随意设定。
注意,在保存到Map之前,使用map.get("key")从Map中获取对应是数据,判断是否为null即可判断该List中的值是否已经存在,再采取自己需要的操作。
额外注意:在遍历过程中如果操作list.remove等操作,会对遍历顺序有影响!index下标会变化,需要采取i--或者iterator遍历来避免,这方面自己考虑好
遍历List,遍历过程中将List中取出的值作为key保存到一个临时的Map中,Map的value可以自己随意设定。
注意,在保存到Map之前,使用map.get("key")从Map中获取对应是数据,判断是否为null即可判断该List中的值是否已经存在,再采取自己需要的操作。
额外注意:在遍历过程中如果操作list.remove等操作,会对遍历顺序有影响!index下标会变化,需要采取i--或者iterator遍历来避免,这方面自己考虑好
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询