本篇包含了两种去重,一种是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. mac pkg移除

    1打开终端 sudo bash < <(curl -sL https://raw.github.com/mpapis/pkg_uninstaller/master/pkg-install) ...

  2. spring cloud_1_mm_ribbon

    ji接上文 ribbon做请求分发负载均衡 ribbon 配置: server.port=9999 spring.application.name=ribbon-consumer #stores.ri ...

  3. django用MySQL数据库链接

    在使用的过程中出现了没有mysqld.sock这个文件的情况,无法连接到mysql数据库. 几经周折,设置路径,改文件夹的权限,也都无济于事,只有重新安装mysql服务器,第一次尝试还是失败,服务器安 ...

  4. 将简单Excel表格显示到DataGridView中

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  5. linux rar文件解压命令

    解压命令: unrar x demo.rar

  6. DoTween之队列

    //引用命名空间 using DG.Tweening; // 初始化一个sequence Sequence sequence = DOTween.Sequence(); //添加动画 sequence ...

  7. 20155208徐子涵《网络对抗》Exp9 Web安全基础

    20155208徐子涵<网络对抗>Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 最后一次了,没有选择尝试免考项目 ...

  8. C++跨平台集成websocketpp

    之前给公司写了一个用于消息交互的服务器,移植到Linux上之后发现H5-Websocket模块经常出问题,而该模块是另一位已经离职同事编写的,所以修改和维护都存在一定的困难,索性就直接把这个模块替换掉 ...

  9. Combat 战斗任务

    发售年份 1977 平台 VCS 开发商 雅达利(Atari) 类型 射击 https://www.youtube.com/watch?v=2LxPEdUZOkE

  10. servlete基础

    1.  使用servlet需要继承HttpServlet Servlet 生命周期 Servlet 生命周期可被定义为从创建直到毁灭的整个过程.以下是 Servlet 遵循的过程: Servlet 通 ...