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创建Socket连接到服务器方式

    通过Java创建Socket连接到服务器方式

    这篇文章主要介绍了通过Java创建Socket连接到服务器方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • MybatisPlus中的save方法详解

    MybatisPlus中的save方法详解

    save方法是Mybatis-plus框架提供的一个添加记录的方法,它用于将一个实体对象插入到数据库表中,这篇文章主要介绍了MybatisPlus中的save方法,需要的朋友可以参考下
    2023-11-11
  • Spring Boot mybatis-config 和 log4j 输出sql 日志的方式

    Spring Boot mybatis-config 和 log4j 输出sql 日志的方式

    这篇文章主要介绍了Spring Boot mybatis-config 和 log4j 输出sql 日志的方式,本文通过实例图文相结合给大家介绍的非常详细,需要的朋友可以参考下
    2021-07-07
  • Java中的定时器Timer详解

    Java中的定时器Timer详解

    这篇文章主要为大家详细介绍了Java定时器Timer的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Java实现HDFS文件上传下载

    Java实现HDFS文件上传下载

    这篇文章主要为大家详细介绍了Java实现HDFS文件上传下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • Java 和 Scala 如何调用变参

    Java 和 Scala 如何调用变参

    这篇文章主要介绍了Java 和 Scala 如何调用变参,帮助大家更好的理解和学习Java与Scala,感兴趣的朋友可以了解下
    2020-09-09
  • 老生常谈java中的数组初始化

    老生常谈java中的数组初始化

    下面小编就为大家带来一篇老生常谈java中的数组初始化。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Spring中的Actuator使用详解

    Spring中的Actuator使用详解

    这篇文章主要介绍了Spring中的Actuator使用详解,在生产环境中运行的程序,并不总是稳定、安静、正确的,往往会遇到各式各样的现场状况,这个时候,就需要获取该程序足够多的运行状态信息,然后分析并对其进行有效管理,需要的朋友可以参考下
    2023-09-09
  • 基于hibernate框架在eclipse下的配置方法(必看篇)

    基于hibernate框架在eclipse下的配置方法(必看篇)

    下面小编就为大家带来一篇基于hibernate框架在eclipse下的配置方法(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Springboot继承Keycloak实现单点登录与退出功能

    Springboot继承Keycloak实现单点登录与退出功能

    这篇文章主要介绍了Springboot继承Keycloak实现单点登陆与退出,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08

最新评论