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 ...
随机推荐
- spring mvc 基本配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- [转]Add Bootstrap Glyphicon to Input Box
本文转自:http://stackoverflow.com/questions/18838964/add-bootstrap-glyphicon-to-input-box How can I add ...
- vuex 实现vue中多个组件之间数据同步以及数据共享。
http://pan.baidu.com/s/1hrJfpli demo下载地址 前言 在一些项目中有很多数据状态之间要实现数据共享状态共享,例如购物车的数据.用户的登录状态等等.vue父元素是可以 ...
- [android] 界面切换的核心方法
根据效果图拆分界面 主体部分 View ==> ViewGroup ==> RelativeLayout,主体部分使用RelativeLayout作为占位 View和ViewGroup的区 ...
- Tomcat服务器配置和使用(三)
https连接器 明白了互联网上的加密原理之后,下面来看看浏览器与服务器交互时,浏览器想将数据加密后再发送给服务器,那么该怎么做呢?服务器首先要向浏览器出示一份数字证书,浏览器看到数字证书后,就可以使 ...
- UNIX 5种I/O模型
Unix 5 I/O模型 I/O操作分为两步: (1)先将数据从 存储介质 (磁盘或者网络等)拷贝到 内核缓冲区,此时称为数据准备好,可以被用户读取. (2)由用户应用程序拷贝内核缓冲区数据 到用户缓 ...
- 简单工厂模式的C++、Java实现
1.简单工厂模式UML UML如下: 图1. 简单工厂模式UML 2.C++实现 类视图如下: 图2. C++实现简单工厂模式类视图 其中,SimpleFactory实现为: Product * Si ...
- google搜索使用技巧
1.输入框所有空格都被理解为加号2.搜索多个单词时,需要加上引号,会当字符串处理3.使用-(减号)剔除指定条件,如:'mongdb'-'nodejs'4.可以使用通配符,如'vue *'5.在指定网站 ...
- SSIS 和 SSRS自制Template
可以使用VS 制作一个SSIS 的Package. 路径:C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssembl ...
- data-* 自定义数据属性 遇到的坑
除非data-*自定义数据属性的值是固定不变的,否则最好不要把data-*作为查询条件. 例子: <div data-index="0">hello</div&g ...