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责任链模式模板代码分享,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Spring Boot日志打印配置详细介绍

    Spring Boot日志打印配置详细介绍

    本文详细介绍了如何在SpringBoot项目中进行日志配置,包括日志框架概述、日志级别配置、日志文件输出与滚动配置、电商交易系统中的应用示例以及常见日志问题及解决方案,通过灵活的日志配置,开发者可以更好地管理和调试软件系统,需要的朋友可以参考下
    2024-11-11
  • 一文带你深入认识JAVA中的异常

    一文带你深入认识JAVA中的异常

    Java异常处理成为社区中讨论最多的话题之一,下面这篇文章主要给大家介绍了关于JAVA中异常的相关资料,文中通过代码介绍的非常详细,对大家学习或者使用java具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-06-06
  • SSH框架网上商城项目第30战之项目总结(附源码下载地址)

    SSH框架网上商城项目第30战之项目总结(附源码下载地址)

    这篇文章主要介绍了SSH框架网上商城项目第30战之项目总结,并附源码下载地址,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • java  设计模式之单例模式

    java 设计模式之单例模式

    这篇文章主要介绍了java 设计模式之单例模式的相关资料,需要的朋友可以参考下
    2017-02-02
  • Java软件生产监控工具Btrace使用方法详解

    Java软件生产监控工具Btrace使用方法详解

    这篇文章主要介绍了Java软件生产监控工具Btrace使用方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • Java将CSV的数据发送到kafka的示例

    Java将CSV的数据发送到kafka的示例

    这篇文章主要介绍了Java将CSV的数据发送到kafka得示例,帮助大家更好得理解和使用Java,感兴趣的朋友可以了解下
    2020-11-11
  • mybatis/mybatis-plus模糊查询语句特殊字符转义拦截器的实现

    mybatis/mybatis-plus模糊查询语句特殊字符转义拦截器的实现

    在开发中,我们通常会遇到这样的情况。用户在录入信息是录入了‘%’,而在查询时无法精确匹配‘%’。究其原因,‘%’是MySQL的关键字,如果我们想要精确匹配‘%’,那么需要对其进行转义,本文就详细的介绍一下
    2021-11-11
  • java jar包后台运行的两种方式详解

    java jar包后台运行的两种方式详解

    后台运行jar的方法有多种方法可以实现Java后台运行jar文件,下面介绍其中两种常见的方法,下面这篇文章主要给大家介绍了关于java jar包后台运行的两种方式,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-07-07
  • 完美解决Eclipse 项目有红感叹号的问题

    完美解决Eclipse 项目有红感叹号的问题

    下面小编就为大家带来一篇完美解决Eclipse 项目有红感叹号的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01

最新评论