简述Java List去重五种方法

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

前言

去重,对于很多场合必不可少。写此篇文章是因为在之前做某个画面中,我在数据库中进行 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

标签:Java,List,去重
0
投稿

猜你喜欢

  • 详解Java中对象池的介绍与使用

    2023-07-25 13:13:48
  • Android基于AlarmManager实现用户在线心跳功能示例

    2021-12-02 20:26:46
  • Android Studio实现简易计算器设计

    2022-08-22 18:41:55
  • Java中常用的设计模式之装饰器模式详解

    2021-08-28 07:59:15
  • Java 关于时间复杂度和空间复杂度的深度刨析

    2023-11-10 16:07:39
  • Java设计模式之命令模式

    2022-06-17 22:49:07
  • Java Swing GridBagLayout网格袋布局的实现

    2023-07-11 19:34:26
  • java实现多个文件压缩成压缩包

    2022-12-06 17:45:54
  • WPF使用DrawingContext实现二维绘图

    2021-06-08 15:04:27
  • Android悬浮对话框(即点即关对话框)实现代码

    2023-01-01 04:53:54
  • flutter中的布局和响应式app方法示例

    2023-02-19 19:14:52
  • Java递归算法简单示例两则

    2022-09-28 05:53:00
  • Spring整合mybatis实现过程详解

    2022-05-23 02:10:23
  • 5分钟快速实现Android爆炸破碎酷炫动画特效的示例

    2022-11-27 11:46:54
  • Java之BigDecimal的坑及解决

    2022-05-17 01:09:01
  • AlertDialog点击按钮不消失的实现方法

    2023-12-12 07:11:16
  • Android水波纹载入控件CircleWaterWaveView使用详解

    2021-10-27 23:06:58
  • 获取Android系统唯一识别码的方法

    2022-08-09 22:20:45
  • SpringBoot集成支付宝沙箱支付(支付、退款)

    2022-02-15 16:50:52
  • DevExpress实现GridView当无数据行时提示消息

    2023-08-23 04:13:33
  • asp之家 软件编程 m.aspxhome.com