Java实现List去重的几种方法总结

 更新时间:2023年09月27日 10:43:55   作者:fking86  
这篇文章主要为大家详细介绍了Java中List去重的几种常用方法总结,文中的示例代码讲解详细,具有一定的学习和参考价值,需要的小伙伴可以了解一下

HashSet去重

import java.util.HashSet;
HashSet<Integer> set = new HashSet<>();
set.add(1);
set.add(2);
set.add(2);
System.out.println(set); // [1, 2]

TreeSet去重

import java.util.TreeSet;
TreeSet<Integer> set = new TreeSet<>();  
set.add(2);
set.add(1);
set.add(2);
System.out.println(set); // [1, 2]  

LinkedHashSet去重

import java.util.LinkedHashSet;
LinkedHashSet<Integer> set = new LinkedHashSet<>();
set.add(2);
set.add(1); 
set.add(2);
System.out.println(set); // [2, 1]

迭代器去重

import java.util.ArrayList;
import java.util.Iterator;
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(2);
Iterator<Integer> it = list.iterator();
while (it.hasNext()) {
    Integer i = it.next();
    if (list.indexOf(i) != list.lastIndexOf(i)) {
        it.remove();
    }
}
System.out.println(list); // [1]  

Stream去重

import java.util.stream.Collectors;
ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2); 
list.add(2);
List<Integer> distinctList = list.stream()
                                .distinct()
                                .collect(Collectors.toList()); 
System.out.println(distinctList); // [1, 2]

contains去重

ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(2);
for (Integer i : list) {
    if (!list.contains(i)) {
        list.remove(i);
    }
}
System.out.println(list); // [1, 2]

写在最后

到此这篇关于Java实现List去重的几种方法总结的文章就介绍到这了,更多相关Java List去重内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java获取日期的方法

    java获取日期的方法

    这篇文章介绍了java获取日期的方法,有需要的朋友可以参考一下
    2013-10-10
  • 使用springcloud+oauth2携带token去请求其他服务

    使用springcloud+oauth2携带token去请求其他服务

    这篇文章主要介绍了使用springcloud+oauth2携带token去请求其他服务方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • springboot 运行 jar 包读取外部配置文件的问题

    springboot 运行 jar 包读取外部配置文件的问题

    这篇文章主要介绍了springboot 运行 jar 包读取外部配置文件,本文主要描述linux系统执行jar包读取jar包同级目录的外部配置文件,主要分为两种方法,每种方法通过实例代码介绍的非常详细,需要的朋友可以参考下
    2021-07-07
  • SpringBoot中的Future接口详解

    SpringBoot中的Future接口详解

    这篇文章主要介绍了SpringBoot中的Future接口详解,在异步编程中,我们通常需要处理一些耗时的操作,一种常见的做法是使用 Future 接口来代表一个异步操作的结果,需要的朋友可以参考下
    2023-07-07
  • SpringAOP 如何通过JoinPoint获取参数名和值

    SpringAOP 如何通过JoinPoint获取参数名和值

    这篇文章主要介绍了SpringAOP 通过JoinPoint获取参数名和值的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Java SpringBoot实现AOP

    Java SpringBoot实现AOP

    AOP包括连接点(JoinPoint)、切入点(Pointcut)、增强(Advisor)、切面(Aspect)、AOP代理(AOP Proxy),具体的方法和类型下面文章会举例说明,感兴趣的小伙伴和小编一起阅读全文吧
    2021-09-09
  • 解决idea不显示Services工具栏的问题

    解决idea不显示Services工具栏的问题

    这篇文章主要介绍了解决idea不显示Services工具栏的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • 三种Java自定义DNS解析器方法与实践

    三种Java自定义DNS解析器方法与实践

    这篇文章主要分享三种Java自定义DNS解析器方法与实践,对于高性能的测试机(54C96G * 3)而言,可任意通过自定义Java DNS解析器来实现接口请求,下文内容的实现,需要的小伙伴可以参考一下
    2022-02-02
  • Spring中@Autowired注解作用在方法上和属性上说明

    Spring中@Autowired注解作用在方法上和属性上说明

    这篇文章主要介绍了Spring中@Autowired注解作用在方法上和属性上说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • java中有无参数和返回值的方法详解

    java中有无参数和返回值的方法详解

    这篇文章主要介绍了java中有无参数和返回值的方法详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02

最新评论