如果用Set ,倘若list里边的元素不是基本数据类型而是对象,
那么请覆写Object的boolean equals(Object obj) 和int hashCode()方法.
return new ArrayList(new HashSet(list));
方法一:循环元素删除
// 删除ArrayList中重复元素
1
2
3
4
5
6
7
8
9
10
public static void removeDuplicate(List list) {
for ( int i = 0 ; i < list.size() - 1 ; i ++ ) {
for ( int j = list.size() - 1 ; j > i; j -- ) {
if (list.get(j).equals(list.get(i))) {
list.remove(j);
}
}
}
System.out.println(list);
}
方法二:通过HashSet剔除
// 删除ArrayList中重复元素
1
2
3
4
5
6
public static void removeDuplicate(List list) {
HashSet h = new HashSet(list);
list.clear();
list.addAll(h);
System.out.println(list);
}
方法三: 删除ArrayList中重复元素,保持顺序
// 删除ArrayList中重复元素,保持顺序
1
2
3
4
5
6
7
8
9
10
11
12
public static void removeDuplicateWithOrder(List list) {
Set set = new HashSet();
List newList = new ArrayList();
for (Iterator iter = list.iterator(); iter.hasNext();) {
Object element = iter.next();
if (set.add(element))
newList.add(element);
}
list.clear();
list.addAll(newList);
System.out.println( " remove duplicate " + list);
}
如果用HashSet的话,如果是对象,则要将对象实现equals和hashCode方法
分享到:
相关推荐
主要介绍了关于java中List对象列表实现去重或取出以及排序的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
主要介绍了Java中对List去重, Stream去重的问题解答,文中给大家介绍了Java中List集合去除重复数据的方法,需要的朋友可以参考下
在java的list中由于经常存在重复的元素,需要去重,这个时候要用到list去重,将一些不必要展现出来的元素展现出来
java list根据对象的某个属性的值去重,java list根据对象的某个属性的值去重java list根据对象的某个属性的值去重
今天小编就为大家分享一篇关于Java List中数据的去重,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
在日常的业务开发中,可能会遇到需要将 List 集合中的重复数据去除掉的场景。在实际的业务开发中遇到的情况会更复杂。比如,List 集合可能是历史遗留问题,也有可能是调用接口返回的类型限制,只能使用 List 接收;...
java list集合和数组去除重复项,并记录重复次数个数。
本文主要介绍了java list 去重的方法,其中有带类型写法和不带类型写法,并举例测试,具有一定参考借鉴价值,希望能对有需要的小伙伴有所帮助
主要介绍了Java中List集合对象去重及按属性去重的8种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一地的参考借鉴价值,需要的朋友可以参考下
实用方法,使用java8 stream对List 分组,去重,自定义排序
主要介绍了简述Java List去重五种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要介绍了如何实现java8 list按照元素的某个字段去重,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋友可以参考下
今天小编就为大家分享一篇关于Java中List根据map的某个key去重的代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
关键字: Collection , List ,Set , Map , 集合,框架。
jdk7中list的一些功能用起来比较繁琐,比如去重,得通过好几层for循环遍历判断得到,而jdk8 中lambda表达式提供了一些方便list操作的方法,主要涵盖分组、过滤、求和、最值、排序、去重。跟之前的传统写法对比,能少...
主要介绍了Java实现对两个List快速去重并排序操作,结合实例形式较为详细的分析了Java针对list的遍历、去重、排序相关操作技巧与注意事项,需要的朋友可以参考下
NULL 博文链接:https://709002341.iteye.com/blog/2250904
1:contains判断去重(有序) 此方法的优点的:理解起来比较简单,并且最终得到的集合也是有序的,这里的有序指的是新集合的排列顺序和原集合的顺序是一致的;但缺点是实现代码有点多,不够简洁优雅。 2:迭代器去重...
1、java8多条件过滤事例: // 筛选短信黑名单数据 List smsBlackListSet = allBlacklist.stream().filter(sms -> (sms.getCorpcode().equals(corpCode) && sms.getBltype().equals(MessageTypeEnum.SMS.getKey()) ...