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触发器基本介绍
基本简介: 1.触发器可以让你在执行insert,update,delete语句的时候,执行一些特定的操作.并且可以在MySQL中指定是在sql语句执行前触发还是执行后触发. 2.触发器没有返回值. ...
- PD虚拟机修改RemixOS的屏幕分辨率
PD虚拟机修改RemixOS的屏幕分辨率 2017年12月02日02:13:55 by SemiconductorKING 最近要用个移动端APP,手机不方便就想在电脑跑一个,然后装了个以前用过的觉得 ...
- Swift构造器链
IDE:Xcode Version7.3.1 指定构造器: 1>名字为init的方法前没有前缀(子类重写时有override除外), 2>一个类中至少有一个指定构造器,其必须初始化类中的所 ...
- 微软的TransactionScope类是个好玩意
最近发现微软自带的TransactionScope(.Net Framework 2之后)是个好东东,提供的功能也很强大. 首先说说TransactionScope是什么,并能为我们做什么事情.其实看 ...
- storm之topology的启动
一个topology的启动包括了三个步骤 1)创建TopologyBuilder,设置输入源,输出源 2)获取config 3)提交topology(这里不考虑LocalCluster本地模式) 以s ...
- c#单例(Singleton)模式实现
sealed class Singleton { private Singleton(); public static readonly Singleton Instance=new Singleto ...
- Java序列话和反序列化理解(New)
public interface Serializable {} 该接口没有任何实现方法,是一种标志,instance of Serializable 会判断object类型 一.序列化和反序列化的 ...
- 第11章 Media Queries 与Responsive 设计
Media Queries--媒体类型(一) 随着科学技术不断的向前发展,网页的浏览终端越来越多样化,用户可以通过:宽屏电视.台式电脑.笔记本电脑.平板电脑和智能手机来访问你的网站.尽管你无法保证一个 ...
- 利用setTimeoutc处理javascript ajax请求超时
用过jquery的人都知道里面的$.ajax能设置超时处理及各种错误的抛出,确实好用.原生的js没有对应的方法,还得写各种兼容.在实际运用中,不管请求是否成功都应该做容错处理, 不然用户不知道到底发生 ...
- 原生js、jQuery实现选项卡功能
在大家在网上平常浏览网页的时候,想必各位都会看到选项卡功能,在这里给大家详解一下用原生js.jQuery如何来写一些基本的选项卡 话不多说,先给各位看一下功能图: 好了,下边 ...