Java 单个集合去重与两个集合去重
一、单个集合去重
描述:
去掉一个集合里重复的元素:将list集合转成hashSet集合,hashSet有自动去重的功能,再利用去重后的hashSet集合初始化一个新的list集合,此时这个list就是去重后的集合。
代码如下:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
public class Main {
public static void main(String[] args) {
ArrayList l2 = new ArrayList(Arrays.asList("111","111","ttt","eee","222","333","ttt","eee","222"));
pastLeep(l2);
}
public static void pastLeep(List<String> list){
System.out.println("list = [" + list + "]");
List<String> listNew=new ArrayList<>(new HashSet(list));
System.out.println("listNew = " + listNew);
}
}

二、两个集合去重
描述:
在两个集合里去除同时存在的元素:定义一个临时集合,将第一个集合里的所有元素全部添加到临时集合中,从第一个集合里移除在第二个集合里同时存在的全部元素,再从第二个集合里移除掉在第一个集合(临时集合)里同时存在的全部元素。
代码如下:
import java.util.ArrayList;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
ArrayList l1 = new ArrayList(Arrays.asList("111","222","333","444","555"));
ArrayList l2 = new ArrayList(Arrays.asList("111","ddd","sss","eee","222","333","ttt"));
Deduplication(l1,l2);
}
private static void Deduplication(ArrayList<String> list1,ArrayList<String> list2){
ArrayList tempList = new ArrayList();
//将list1里的所有元素添加到tempList里
tempList.addAll(list1);
//从list1中移除掉同时在list2中存在的元素(去重)
list1.removeAll(list2);
//从list2中移除掉同时在list1中存在的元素(去重)
list2.removeAll(tempList); System.out.println(list1);
System.out.println(list2);
}
}

Java 单个集合去重与两个集合去重的更多相关文章
- java 集合 HashSet 实现随机双色球 HashSet addAll() 实现去重后合并 HashSet对象去重 复写 HashCode()方法和equals方法 ArrayList去重
package com.swift.lianxi; import java.util.HashSet; import java.util.Random; /*训练知识点:HashSet 训练描述 双色 ...
- java求两个集合的交集和并集,比较器
求连个集合的交集: import java.util.ArrayList; import java.util.List; public class TestCollection { public st ...
- 从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射
从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射.Collection 接口又有 3 ...
- JAVA 自定义对象集合 List<T> 根据自定义字段去重
1.拥有自定义对象 MyUser @Data public class MyUser { private String userName; private String passWord; } 2.编 ...
- Java 8 中如何优雅的处理集合
Java 8 中如何优雅的处理集合(Stream API) 在Java中,集合和数组是我们经常会用到的数据结构,需要经常对他们做增.删.改.查.聚合.统计.过滤等操作.相比之下,关系型数据库中也同样有 ...
- java提高篇(二十)-----集合大家族
在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!java中集合大家族的成员实在是太丰富了,有常用的Arra ...
- 黑马程序员——【Java基础】——File类、Properties集合、IO包中的其他类
---------- android培训.java培训.期待与您交流! ---------- 一.File类 (一)概述 1.File类:文件和目录路径名的抽象表现形式 2.作用: (1)用来将文件或 ...
- Java——(五)Collection之List集合、ArrayList和Vector实现类
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.List集合 List集合代表一个元素有序.客重复的集合,集合中每个元素都有其对应的顺序索引 ...
- Java——(四)Collection之Set集合TreeSet类
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- TreeSet类 TreeSet是SortedSet接口的实现类,正如SortedSet名字所暗 ...
随机推荐
- mysql if--else
SQL之case when then用法 case具有两种格式.简单case函数和case搜索函数. --简单case函数 case sex when '1' then '男' when '2' th ...
- 前端知识点回顾之重点篇——CSS中的BFC
BFC布局(Block Formatting Contexts) 来源:https://www.cnblogs.com/lzbk/p/6057097.html 块级格式化上下文是页面中的一块渲染区域, ...
- 1.springboot启动流程
SpringBoot版本:2.1.2.RELEASE 1.maven <parent> <groupId>org.springframework.boot</groupI ...
- 指定pip清华源
临时指定: pip install cefpython3 -i https://pypi.tuna.tsinghua.edu.cn/simple 一直使用:pip的配置文件为%HOME%/pip/pi ...
- C#Application:Exit与ExitThread 解释
Application.Exit(); 方法停止在所有线程上运行的所有消息循环,并关闭应用程序的所有窗口 Application.ExitThread 方法 退出当前线程上的消息循环,并关闭该线程上的 ...
- nodejs获取常见疾病数据示例
日常生活中有一些常见的疾病,这个可以通过百度等搜索到,但是如果你要完成一款app或者小程序.网站之类的该如何来获取常见疾病的信息呢?首先想到的是通过爬虫爬取数据,然后整理搜索....其实这种方法还是太 ...
- Canal——原理架构及应用场景
Canal简介 Canal是阿里开源的一款基于Mysql数据库binlog的增量订阅和消费组件,通过它可以订阅数据库的binlog日志,然后进行一些数据消费,如数据镜像.数据异构.数据索引.缓存更新等 ...
- 8. find
find使用 find命令的主要作用是对树形目录层次结构进行彻底检查. find命令的一般格式: find pathname -expressions find常用表达式 在当前文件夹中找出名 ...
- 如何查看linux系统安装时间
第一种方法: 先查看系统盘挂到哪个分区上,然后用 dumpe2fs 查看这个磁盘分区 创建的时间,即可查出此 服务器 系统安装的时间.() # dumpe2fs /dev/sda3|grep -i ...
- 【POJ - 3641】Pseudoprime numbers (快速幂)
Pseudoprime numbers Descriptions 费马定理指出,对于任意的素数 p 和任意的整数 a > 1,满足 ap = a (mod p) .也就是说,a的 p 次幂除以 ...