本篇包含了两种去重,一种是List集合去重,一种是两个List集合去重合并

  List集合去重,一般是两种方式,一种是遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list集合

  参考链接:http://blog.csdn.net/cs6704/article/details/50158373

一个List去重:

public static void main(String[] args) {

        List<String> list1 = new ArrayList<String>();
list1.add("");
list1.add("");
list1.add("");
list1.add(""); System.out.println("list1:" + list1); Set set = new HashSet();
List newList = new ArrayList();
for (String str : list1) {
if(set.add(str)){
newList.add(str);
}
}
System.out.println("去重后的list集合:" + newList);
}
list1:[, , , ]
去重后的list集合:[, ]
    public static void main(String[] args) {

        List<String> list1 = new ArrayList<String>();
list1.add("");
list1.add("");
list1.add("");
list1.add(""); System.out.println("list1:" + list1); List<String> newList = new ArrayList<String>();
for (String str : list1) {
if(!newList.contains(str)){
newList.add(str);
}
} System.out.println("去重后的list集合:" + newList);
}
list1:[, , , ]
去重后的list集合:[, ]
    public static void main(String[] args) {

        List<String> list1 = new ArrayList<String>();
list1.add("");
list1.add("");
list1.add("");
list1.add(""); System.out.println("list1:" + list1); Set set = new HashSet();
List newList = new ArrayList();
set.addAll(list1);
newList.addAll(set); System.out.println("去重后的list集合:" + newList);
}
list1:[, , , ]
去重后的list集合:[, ]
    public static void main(String[] args) {

        List<String> list1 = new ArrayList<String>();
list1.add("");
list1.add("");
list1.add("");
list1.add(""); System.out.println("list1:" + list1); List newList = new ArrayList(new HashSet(list1)); System.out.println("去重后的list集合:" + newList);
}
list1:[, , , ]
去重后的list集合:[, ]

两个List集合去重合并:

public static void main(String[] args) {

        List<String> list1 = new ArrayList<String>();
list1.add("");
list1.add("");
list1.add("");
list1.add(""); List<String> list2 = new ArrayList<String>();
list2.add("");
list2.add("");
list2.add("");
list2.add("");
list2.add("");
list2.add("");
list2.add("");
list2.add(""); System.out.println("list1:" + list1);
System.out.println("list2:" + list2); list1.remove(list2);
list1.addAll(list2); list1 = new ArrayList<String>(new HashSet<>(list1));
System.out.println("去重后的list集合:" + list1);
}
list1:[, , , ]
list2:[, , , , , , , ]
去重后的list集合:[, , , , , , , , , ]

List集合去重的更多相关文章

  1. List集合去重的一种方法

    前一段时间们需要对一个List<Model>集合去重,情况是该集合中会出现多个Name属性值相同的,但是其他属性值不同的数据. 在这种情况下,需求要只保留其中一个就好. 我觉得遍历和Has ...

  2. List集合去重的一种方法 z

    需要对一个List<Model>集合去重,情况是该集合中会出现多个Name属性值相同的,但是其他属性值不同的数据. 在这种情况下,需求要只保留其中一个就好. 我觉得遍历和HashSet都不 ...

  3. List集合去重的一些方法(常规遍历、Set去重、java8 stream去重、重写equals和hashCode方法)

    1. 常规元素去重 碰到List去重的问题,除了遍历去重,我们常常想到利用Set集合不允许重复元素的特点,通过List和Set互转,来去掉重复元素. // 遍历后判断赋给另一个list集合,保持原来顺 ...

  4. C# List集合去重操作注意点

    今天调试代码时发现list的distinct方法在对引用类型操作时并没有去重,后来查阅资料发现list去重操作对象集合时比较的是对象的一个个引用地址, 因为集合里的对象都是一个个单独的实例,所以并不会 ...

  5. List集合去重方式及效率对比

    List集合相信大家在开发过程中几乎都会用到.有时候难免会遇到集合里的数据是重复的,需要进行去除.然而,去重方式有好几种方式,你用的是哪种方式呢?去重方式效率是否是最高效.最优的呢?今天就给大家讲解一 ...

  6. python redis连接 有序集合去重

    # -*- coding: utf-8 -*- import redisfrom constant import redis_ip, redis_db, redis_pw, logger, redis ...

  7. Java 单个集合去重与两个集合去重

    一.单个集合去重 描述: 去掉一个集合里重复的元素:将list集合转成hashSet集合,hashSet有自动去重的功能,再利用去重后的hashSet集合初始化一个新的list集合,此时这个list就 ...

  8. List集合去重各种方式汇总

    package com.sb.test; import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java. ...

  9. 对list集合去重操作

    import java.util.ArrayList; import java.util.List; //删除集合中重复的数据 public class RemoteTheSameDataInList ...

随机推荐

  1. How To Make A Swipeable Table View Cell With Actions – Without Going Nuts With Scroll Views

    How To Make A Swipeable Table View Cell With Actions – Without Going Nuts With Scroll Views  Ellen S ...

  2. JDBC 链接mysql 8 的问题

    转载:jdbc连接mysql 8 的一些坑 1.驱动包要升级为 mysql-connector-java-8.0.11.jar 2.JDBC driver 由“com.mysql.jdbc.Drive ...

  3. 游戏 & Github Page

    1. snakewizard.github.io 贪吃蛇小游戏 2. mattbasile.github.io 龙珠 DragonballZ-Battle 3. nathandhyou.github. ...

  4. Golang微服务:Micro Trace使用opentracing jaeger

    trace Micro通过Wrapper实现了三种trace接口,aswxray,opencensus,opentracing,这里主要关注opentracing,opentracing已成为行业标准 ...

  5. FixedUpdate()使用

    当MonoBehaviour启用时,其 FixedUpdate在每一帧被调用. 处理Rigidbody时,需要用FixedUpdate代替Update.例如:给刚体加一个作用力时,你必须应用作用力在F ...

  6. SQL Server信息偏差影响表联结方式统计

    SQL Server统计信息偏差影响表联结方式案例浅析   我们知道数据库中的统计信息的准确性是非常重要的.它会影响执行计划.一直想写一篇关于统计信息影响执行计划的相关博客,但是都卡在如何构造一个合适 ...

  7. linux 下 mysql 常用命令

    linux 下 mysql 常用命令   阅读目录 ====================== 1.开启和关闭 1.1.开启 1.2.关闭 1.3.重启 2.登录 2.1.密码明文 2.2.密码密文 ...

  8. pycharm+pydesigner+pyqt5 如何添加图片资源

    pydesigner 上添加资源比较容易: 步骤一用于编辑,步骤二步创建,步骤三创建文件新的qrc: 步骤一:新建一个Prefix,步骤二给prefix添加资源文件.至此,资源文件添加完成 采用 Py ...

  9. ML_Clustering

    西瓜书学习...ing K均值 k-means 给定样本集$ D = {X_1,X_2,...X_n} \(,k-means针对聚类所得簇划分\)C = {C_1,C_2,...,C_k}$最小化平方 ...

  10. Nginx配置之负载均衡、限流、缓存、黑名单和灰度发布

    一.Nginx安装(基于CentOS 6.5) 1.yum命令安装 yum install nginx –y(若不能安装,执行命令yum install epel-release) 2. 启动.停止和 ...