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名字所暗 ...
随机推荐
- react-1
react 创建方法 首先确定你的电脑上面已经安装了node和npm 检查方法:window键 输入cmd 输入node -v 或者 npm -v 在全局安装create-react-app这条命令 ...
- nodejs服务端实现post请求
博客之前写过一篇php实现post请求的文章. 今天想到好久没有输出了,重新认识到输出的重要性.百般思索该写些什么?想来想去,想到了两点: 逐步熟练nodejs各种场景知识,针对mysql数据交互和f ...
- Kbengine游戏引擎-【1】kbengine安装
本文主要介绍如何在Linux上安装 官网环境要求:Centos >= 5.x, Debian >= 5.x GCC版本: >= 4.4.x 官网链接 本文的安装环境介绍:Centos ...
- 前端js数据加密解密
一.最简单的加密解密 函数escape()和unescape(); 二.base64加密 (1)introduction base64是网络上最常见的用于传输8bit字节码的编码方式之一,base ...
- .netcore centos配置systemctl自动启动
systemd分两种服务系统和用户服务 对应存储位路径为系统(/usr/lib/systemd/system).用户(/etc/systemd/user/) [Unit] Description=ap ...
- Event事件与协程
1.Event事件 Event事件的作用: - 用来控制线程的执行. - 由一些线程去控制另一些线程. 2.进程池与线程池 1)什么是进程池与线程池? 进程池与线程池是用来控制当前程序允许创建(进程/ ...
- MongodDB基本命令
MongoDB基本命令 成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作. 输入help可以看到基本操作命令: show dbs:显示数据库列表 show co ...
- 解决DBGridEh遍历记录后不移动当前行位置的方法
解决DBGridEh遍历记录后不移动当前行位置的方法 在用DBGridEh配合ClientDataSet使用时,需要知道用户选择了哪些记录,可用遍历记录的方法查询选择列是否为真,但在这之后,Clien ...
- Google 搜索语法
1. 逻辑与/或:AND/OR注意 AND.OR 必须大写OR 指令优先于 AND 指令AND 指令一般以space或+代替OR 指令可用 | 代替2. 逻辑非:-3. 完整匹配:" &qu ...
- Django-Form组件-formset_factory
Formset 多个表单的集合,可以同时提交多个from表单中的数据,在web页面中,可以在同一个页面,提交多个form表单. Django针对不同的formset提供了3种方法: formset_f ...