本篇包含了两种去重,一种是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. vim 加密(crypt)文本文档

    算法 vim7.3版本支持两种加密方式——PKzip算法(已知有缺陷的).Blowfish算法(从7.3版本开始支持).Blowfish2算法(从7.4.399版本开始支持)而vim -x 默认采用P ...

  2. centos7下部署node应用程序

    一.安装node 二.安装nginx 三.使用express写一个简单的demo,并且使用pm2部署 四.错误 invalid PID number "" in "/ru ...

  3. 浅谈session和cookie

    含义: session(会话):指用户登录网站后的一系列动作,比如浏览商品添加到购物车并购买 cookie:用户身份的一种标识 区别: 1.Cookie通过在客户端记录信息确定用户身份,Session ...

  4. 30天代码day3 Intro to Conditional Statements

    Boolean A logical statement that evaluates to true or false. In some languages, true is interchangea ...

  5. Favorite Donut(HDU 5442)最小表示法+二分

    题目给出一个字符串,由a~z表示甜度,随字典序增大,字符串首尾相连形成一个圈,要求从一个位置开始字典序最大的字符串,输出位置以及是顺时针还是逆时针表示.顺时针用0表示,逆时针用1表示. 此题只需要查找 ...

  6. 小妖精的完美游戏教室——人工智能,A*算法,启发因子篇

    //================================================================//// Copyright (C) 2017 Team Saluk ...

  7. vue--模板语法

    <!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name=& ...

  8. 0. General-purpose tools (通用工具 8个)

    http://en.wikipedia.org/wiki/Netcat这个简单的实用程序通过TCP或UDP网络连接读写数据. 它被设计为一个可靠的后端工具,可以直接或轻松地使用其他程序和脚本驱动. 同 ...

  9. ScreenPresso注册码

    [3]-[screenpressopro]-[5705]-[www.dayanzai.me]-[01/26/2016]-[Zkj8i42HhuCW1UCNtaklHv7Eekr1Wkt4wKHFket ...

  10. java基础(一):我对java的三个环境变量的简单理解和配置

    首先说说java的三个环境变量:java_home,classpath,path java_home:jdk的安装路径[你一层一层点开安装路径,直到当前目录有一个bin目录,然后在地址栏里面右键单击复 ...