List的 并集、交集、差集操作
package com.zheting.collection.list; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List; /**
* List基本操作:
* 01.集合的并集
* 02.集合的交集
* 03.集合的差集
* 04.集合去重
* 05.数组转换成集合
* 06.集合转换成数组
*/
public class TestArrayList {
//List集合的并集 addAll
public void test01(){
List<String> list_01 = new ArrayList<String>();
list_01.add("a");
list_01.add("b");
list_01.add("c");
List<String> list_02 = new ArrayList<String>();
list_02.add("d");
list_02.add("e");
list_02.add("f");
list_02.add("a");
list_01.addAll(list_02);//a, b, c, d, e, f, a
this.printList(list_01);
} //List集合的交集 retainAll
public void test02(){
List<String> list_01 = new ArrayList<String>();
list_01.add("a");
list_01.add("b");
list_01.add("c");
List<String> list_02 = new ArrayList<String>();
list_02.add("b");
list_02.add("e");
list_02.add("f");
list_02.add("a");
list_01.retainAll(list_02);//a, b
this.printList(list_01);
} //List集合的差集 removeAll
public void test03(){
List<String> list_01 = new ArrayList<String>();
list_01.add("a");
list_01.add("b");
list_01.add("c");
List<String> list_02 = new ArrayList<String>();
list_02.add("b");
list_02.add("e");
list_02.add("f");
list_02.add("a");
list_01.removeAll(list_02);//c
this.printList(list_01);
} //List集合去重
public void test04(){
List<String> list_01 = new ArrayList<String>();
list_01.add("a");
list_01.add("b");
list_01.add("c");
list_01.add("d");
list_01.add("b");
list_01.add("c");
List<String> list_02 = new ArrayList<String>();
for (String str : list_01) {
if(!list_02.contains(str)){
list_02.add(str);
}
}
this.printList(list_02);//a,b,c,d
} //数组转换成集合
public void test05(){
String[] strs = {"a","b","c","d"};
List<String> list = Arrays.asList(strs);
this.printList2(list); //a, b, c, d
} //集合转换成数组
public void test06(){
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
Object[] strs = list.toArray();
String str = "";
for (Object string : strs) {
str += string + ", ";
}
System.out.println(str);
} //输出一个集合中的元素
public void printList(List list){
String str = "";
for (Object object : list) {
str += object + ", ";
}
System.out.println(str);
} //输出一个集合中的元素
public void printList2(List list){
String str = "";
Iterator iterator = list.iterator();
while(iterator.hasNext()) {
str += iterator.next() + ", ";
}
System.out.println(str);
} public static void main(String[] args) {
new TestArrayList().test05();
}
}
List的 并集、交集、差集操作的更多相关文章
- python两个 list 交集,并集,差集的方法+两个tuple比较操作+两个set的交集,并集,差集操作+两个dict的比较操作
转自:http://blog.chinaunix.net/uid-200142-id-3992553.html 有时候,为了需求,需要统计两个 list 之间的交集,并集,差集.查询了一些资料,现在总 ...
- NET 集合交集、并集、差集操作
, , , , , , , }; , , , , , , , , }; // List1:1 3 5 7 9 11 13 15 Console.WriteLine("List1:" ...
- java数组并集/交集/差集(补集)
1.说明 使用java容器类的性质选择容器 2.实现 package com.wish.datastrustudy; import java.util.HashSet; import java.uti ...
- [Linux] 取两个文件的并集/交集/差集
uniq -d是只打印重复行 -u是只打印独一无二的行文件A : abcd文件B: cdef取并集:A + B sort A B|uniq 取交集: sort A B|uniq -d 取差集:A - ...
- python求两个列表的并集.交集.差集
求两个列表的差集 >>> a = [1,2,3] >>> b=[1,2] >>> ################################ ...
- 【Set】Set集合求并集,交集,差集
/** * @author: Sam.yang * @date: 2020/11/16 11:14 * @desc: Set集合操作工具类 */ public class SetOptUtils { ...
- JS数组操作:去重,交集,并集,差集
原文:JS数组操作:去重,交集,并集,差集 1. 数组去重 方法一: function unique(arr) { //定义常量 res,值为一个Map对象实例 const res = new Map ...
- Sql Server中集合的操作(并集、差集、交集)学习
首先我们做一下测试数据 1.创建测试数据 --创建人员表1-- create table Person1 ( Uid ,) primary key, Name ) not null ) --创建人员表 ...
- iOS 数组集合操作(交集,并集,差集,子集)
1.求数组的 交集,并集,差集 NSArray *array1 = @[@"1",@"2",@"3"]; NSArray *array2 = ...
- scala中集合的交集、并集、差集
scala中有一些api设计的很人性化,集合的这几个操作是个代表: 交集: scala> Set(1,2,3) & Set(2,4) // &方法等同于interset方法 sc ...
随机推荐
- MySQL wait_timeout参数设置与网上常见错误小纠
discard connection com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link fail ...
- IE10 CSS Hack(顺便聊聊IE11的CSS Hack)
一.特性检测:@cc_on 我们可以用IE私有的条件编译(conditional compilation)结合条件注释来提供针对ie10的Hack:该脚本里面的IE排除条件注释,以确保IE6-9不承认 ...
- 前端标注软件-pxcook像素大厨使用心得
我们在日常开发过程中,设计师给提供的UI图,经常需要标注尺寸,有时候设计师难免会遗漏标注,这样就会大大的增加我们的沟通成本,因此,使用一款好用的标注软件就尤为重要,我推荐这款标注软件---pxcook ...
- 关于request请求的基本获取
1.Request对象的作用是与客户端交互,收集客户端的Form.Cookies.超链接,或者收集服务器端的环境变量. request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的 ...
- 六 Selector
选择器是java NIO中能够检测一到多个NIO通道(Channel),并能知晓是否为诸如读写时间做好准备的组件.这样,一个单独的线程可以管理多个channel,从而管理多个网络连接 为什么用Sele ...
- 跨域解决方案之HTML5 postMessage
问题场景: web是嵌入到手机客户端中的静态页面,为了统计用户行为需要引入ga,但是ga必须是在www下才行,哪怕是localhost,这就是矛盾.解决方案是在页面中使用iframe,iframe是在 ...
- JS Event 鼠标拖拽事件
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> ...
- C++类继承--基类析构函数加上Virtual
下面的内容要说明两个问题:1. 基类的析构函数为什么要加上Virtual--防止内存泄露 1. 基类虚构函数无virtual,派生类无法析构,会导致内存泄露 #include <stdio.h& ...
- MySQL数据库备份与还原
备份数据库 1.使用mysqldump命令备份 备份一个数据库:mysqldump -u 用户名 -p密码 数据库名 [表名1,表名2...]>备份文件路径及名字.sql 如 ...
- 任务十四:零基础JavaScript编码(二)
任务目的 在上一任务基础上继续JavaScript的体验 学习JavaScript中的if判断语法,for循环语法 学习JavaScript中的数组对象 学习如何读取.处理数据,并动态创建.修改DOM ...