软件编程
位置:首页>> 软件编程>> java编程>> 简述Java List去重五种方法

简述Java List去重五种方法

作者:海沫汐  发布时间:2022-02-28 03:17:13 

标签:Java,List,去重

前言

去重,对于很多场合必不可少。写此篇文章是因为在之前做某个画面中,我在数据库中进行 DistinctOrder By 去重,发现影响效率,故此在后台先做去重处理;所以记录此文,已做参考:

Num1:使用java8新特性stream进行List去重


public static void main(String[] args) {
   List list = new ArrayList();
   list.add(10);
   list.add(11);
   list.add(14);
   list.add(10);
   list.add(19);
   list.add(12);
   System.out.println("初始化集合为:"+list);
   List newList = (List) list.stream().distinct().collect(Collectors.toList());
   System.out.println("java8新特性stream去重后集合为:"+newList);
 }

结果为:

简述Java List去重五种方法

Num2:双重for循环去重


public static void main(String[] args) {
   List list = new ArrayList();
   list.add(10);
   list.add(11);
   list.add(14);
   list.add(10);
   list.add(19);
   list.add(12);
   System.out.println("初始化集合为:"+list);
   for (int i = 0; i < list.size(); i++) {
     for (int j = 0; j < list.size(); j++) {
       if(i!=j&&list.get(i)==list.get(j)) {
         list.remove(list.get(j));
       }
     }
   }
   System.out.println("去重过后新集合为:"+list);
 }

结果为:

简述Java List去重五种方法

Num3 :set集合判断去重,不打乱顺序


public static void main(String[] args) {
   List list = new ArrayList();
   list.add(10);
   list.add(11);
   list.add(14);
   list.add(10);
   list.add(19);
   list.add(12);
   System.out.println("初始化集合为:"+list);
   Set set1 = new HashSet();
   List newList = new ArrayList();
   for (Object integer : list) {
     if(set1.add(integer)) {
       newList.add(integer);
     }
   }
   System.out.println("set集合判断去重:"+newList);
 }

结果为:

简述Java List去重五种方法

Num4 : 遍历后判断赋给另一个list集合


public static void main(String[] args) {
   List list = new ArrayList();
   list.add(10);
   list.add(11);
   list.add(14);
   list.add(10);
   list.add(19);
   list.add(12);
   System.out.println("初始化集合为:"+list);
   List newList2 = new ArrayList();
   for (Object integer : list) {
     if(!newList2.contains(integer)){
       newList2.add(integer);
     }
   }
   System.out.println("去重后新集合为:"+newList2);
 }

结果为:

简述Java List去重五种方法

Num5 : set 和 list 转换去重


public static void main(String[] args) {
   List list = new ArrayList();
   list.add(10);
   list.add(11);
   list.add(14);
   list.add(10);
   list.add(19);
   list.add(12);
   System.out.println("初始化集合为:"+list);
   Set set2 = new HashSet();
   List newList3 = new ArrayList();
   set2.addAll(list);
   newList3.addAll(set2);
   System.out.println("set和list转换去重:"+newList3);
 }

结果为:

简述Java List去重五种方法

来源:https://blog.csdn.net/weixin_43423579/article/details/103959300

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com