您好,欢迎访问一九零五行业门户网

java中List集合去重的方式有哪些

去重方式:
一、通过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集合去重的方式有哪些的详细内容。
其它类似信息

推荐信息