java中List集合去重的方式有哪些
Java  /  管理员 发布于 8年前   210
去重方式:
一、通过set集合的特性,集合元素的唯一性
public static List heavyListMethod01(List list){ Set set=new HashSet(list); //Set set1=new TreeSet(list); List alist=new ArrayList(); for (Object o:set) {alist.add(o); } return alist; }
免费视频教程推荐:java视频
利用set集合的特性,元素的唯一性 addAll(Collection c)
public static List heavyListMethod02(List list){ List newList=new ArrayList(); newList.addAll(new HashSet(list)); return newList; }
二、通过list的方法contains方法去重
public static List heavyListMethod03(List list){ List alist=new ArrayList(); for (Object o:list) { if(!(alist.contains(o))){alist.add(o); } } return alist; }
三、通过遍历,然后用remove方法进行去掉重复的元素
public static List heavyListMethod04(List<Object> list){ for (int i=0;i<list.size()-1;i++){ Object o =list.get(i); for (int j=i+1;j<list.size();j++){ if(o.equals(list.get(j))){ list.remove(j); j--; } } } return list; }
四、(jdk1.8)调用stream方法将list转换为流,通过distinct(内部根据equals()方法)去掉流中重复的元素
public static List heavyListMethod05(List<Object> list){ list = list.stream().distinct().collect(Collectors.toList()); return list; }
测试验证:
public static void main(String[] args) { List list=new ArrayList(); list.add(1); list.add(2); list.add(5); list.add(2); list.add(3); list.add(1); list.add(4); List list1 =heavyListMethod01(list); System.out.println("1----"+list1);//[1, 2, 3, 4, 5] List list2 =heavyListMethod02(list); System.out.println("2----"+list2);//[1, 2, 3, 4, 5] List list3 =heavyListMethod03(list); System.out.println("3----"+list3);//[1, 2, 5, 3, 4] List list4 =heavyListMethod04(list); System.out.println("4----"+list4);//[1, 2, 5, 3, 4] List list5 =heavyListMethod05(list); System.out.println("5----"+list5);//[1, 2, 5, 3, 4] }
相关文章教程推荐:java零基础入门
以上就是java中List集合去重的方式有哪些的详细内容,更多请关注其它相关文章!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号