java list去重操作实现方式

 更新时间:2016年07月07日 10:44:16   投稿:lqh  
本文主要介绍了java list 去重的方法,其中有带类型写法和不带类型写法,并举例测试,具有一定参考借鉴价值,希望能对有需要的小伙伴有所帮助

     在开发过程中,碰到生成一个List对象,需要对其里面的每个对象都进行校验。但是,这个List有时候存在重复的数据。因此需要进行去重,以避免重复的校验。

1.不带类型写法:

List listWithoutDup = new ArrayList(new HashSet(listWithDup));

2.带类型写法(以String类型为例):

1)Java 7以下写法:

List<string> listWithoutDup = new ArrayList<string>(new HashSet<string>(listWithDup));

2)Java 7及以上写法:

List<string> listWithoutDup = new ArrayList<>(new HashSet<>(listWithDup));

样例:

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
 
public class Test {
 public static void main(String[] args) {
 List<string> listWithDup = new ArrayList<string>();
 listWithDup.add("1");
 listWithDup.add("2");
 listWithDup.add("3");
 listWithDup.add("1");
 
 List<string> listWithoutDup = new ArrayList<string>(new HashSet<string>(listWithDup));
 System.out.println("list with dup:"+ listWithDup);
 System.out.println("list without dup:"+ listWithoutDup);
 }
}

样例运行结果:

list with dup:[1, 2, 3, 1]
list without dup:[3, 2, 1]

相关文章

  • idea创建SpringBoot自动创建Lombok无效果的问题解决方案

    idea创建SpringBoot自动创建Lombok无效果的问题解决方案

    这篇文章主要介绍了idea创建SpringBoot自动创建Lombok无效果的问题解决方案,感兴趣的朋友跟随小编一起看看吧
    2024-12-12
  • java ReentrantLock详解

    java ReentrantLock详解

    这篇文章主要介绍了java ReentrantLock,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • idea中Tomcat启动失败的解决

    idea中Tomcat启动失败的解决

    这篇文章主要介绍了idea中Tomcat启动失败的解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-09-09
  • Java LinkedList集合功能实例解析

    Java LinkedList集合功能实例解析

    这篇文章主要介绍了Java LinkedList集合功能实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • mybatis拦截器实现数据权限项目实践

    mybatis拦截器实现数据权限项目实践

    本文主要介绍了mybatis拦截器实现数据权限项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • flowable动态创建多级流程模板实现demo

    flowable动态创建多级流程模板实现demo

    这篇文章主要为大家介绍了flowable动态创建多级流程模板实现demo,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Java 任务调度框架 Quartz实操

    Java 任务调度框架 Quartz实操

    这篇文章主要介绍了Java 任务调度框架 Quartz,Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,完全由Java开发,可以用来执行定时任务,类似于java.util.Timer。,下面我们来学习一下关于 Quartz更多的详细内容,需要的朋友可以参考一下
    2021-12-12
  • IntelliJ IDEA2019实现Web项目创建示例

    IntelliJ IDEA2019实现Web项目创建示例

    这篇文章主要介绍了IntelliJ IDEA2019实现Web项目创建示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 浅谈Java中的参数传递问题

    浅谈Java中的参数传递问题

    这篇文章主要介绍了Java中的参数传递问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Java变量常量声明和定义原理解析

    Java变量常量声明和定义原理解析

    这篇文章主要介绍了Java变量常量声明和定义原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01

最新评论