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的 并集、交集、差集操作的更多相关文章

  1. python两个 list 交集,并集,差集的方法+两个tuple比较操作+两个set的交集,并集,差集操作+两个dict的比较操作

    转自:http://blog.chinaunix.net/uid-200142-id-3992553.html 有时候,为了需求,需要统计两个 list 之间的交集,并集,差集.查询了一些资料,现在总 ...

  2. NET 集合交集、并集、差集操作

    , , , , , , , }; , , , , , , , , }; // List1:1 3 5 7 9 11 13 15 Console.WriteLine("List1:" ...

  3. java数组并集/交集/差集(补集)

    1.说明 使用java容器类的性质选择容器 2.实现 package com.wish.datastrustudy; import java.util.HashSet; import java.uti ...

  4. [Linux] 取两个文件的并集/交集/差集

    uniq -d是只打印重复行 -u是只打印独一无二的行文件A : abcd文件B: cdef取并集:A + B sort A B|uniq 取交集: sort A B|uniq -d 取差集:A - ...

  5. python求两个列表的并集.交集.差集

    求两个列表的差集 >>> a = [1,2,3] >>> b=[1,2] >>> ################################ ...

  6. 【Set】Set集合求并集,交集,差集

    /** * @author: Sam.yang * @date: 2020/11/16 11:14 * @desc: Set集合操作工具类 */ public class SetOptUtils { ...

  7. JS数组操作:去重,交集,并集,差集

    原文:JS数组操作:去重,交集,并集,差集 1. 数组去重 方法一: function unique(arr) { //定义常量 res,值为一个Map对象实例 const res = new Map ...

  8. Sql Server中集合的操作(并集、差集、交集)学习

    首先我们做一下测试数据 1.创建测试数据 --创建人员表1-- create table Person1 ( Uid ,) primary key, Name ) not null ) --创建人员表 ...

  9. iOS 数组集合操作(交集,并集,差集,子集)

    1.求数组的 交集,并集,差集 NSArray *array1 = @[@"1",@"2",@"3"]; NSArray *array2 = ...

  10. scala中集合的交集、并集、差集

    scala中有一些api设计的很人性化,集合的这几个操作是个代表: 交集: scala> Set(1,2,3) & Set(2,4) // &方法等同于interset方法 sc ...

随机推荐

  1. poj 2405 Beavergnaw

    Beavergnaw Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6310   Accepted: 4158 Descri ...

  2. Java入门系列-26-JDBC

    认识 JDBC JDBC (Java DataBase Connectivity) 是 Java 数据库连接技术的简称,用于连接常用数据库. Sun 公司提供了 JDBC API ,供程序员调用接口和 ...

  3. CF 675D——Tree Construction——————【二叉搜索树、STL】

    D. Tree Construction time limit per test 2 seconds memory limit per test 256 megabytes input standar ...

  4. Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details

    环境 Android Studio 3.0 升级&导入项目 错误 Error:java.util.concurrent.ExecutionException: com.android.tool ...

  5. 基于Node.js的ghost开源博客平台

    Ghost 是一套基于Node.js 构建的开源博客平台(Open source blogging platform),具有易用的书写界面和体验. 1.安装node windows 下安装npm:ht ...

  6. Windows安装配置xampp

    建议大家直接看原文 1.安装XAMPP 进入https://www.apachefriends.org/zh_cn/index.html页面下载XAMPP 2 3.打开xampp控制版 4.修改apa ...

  7. 洛谷P1081 开车旅行(倍增)

    题意 题目链接 Sol 咕了一年的题解.. 并不算是很难,只是代码有点毒瘤 \(f[i][j]\)表示从\(i\)号节点出发走了\(2^j\)轮后总的距离 \(da[i][j]\)同理表示\(a\)的 ...

  8. javascript运算符之==和===

    1.== :判断两个数是否相等,在比较之前会自动转化类型再做比较.为确定两个运算数是否相等,这两个运算符都会进行类型转换. 执行类型转换的规则如下: 1.如果一个运算数是 Boolean 值,在检查相 ...

  9. Docker 简单运用

    Docker 帮助系统管理员和程序员在容器中开发应用程序,并且可以扩展到成千上万的节点,容器和 VM(虚拟机)的主要区别是,容器提供了基于进程的隔离,而虚拟机提供了资源的完全隔离.虚拟机可能需要一分钟 ...

  10. 解决github访问过慢问题

    解决github访问过慢问题 主要原因: DNS 自动解析较慢 http://github.global.ssl.fastly.net.ipaddress.com/#ipinfo 用文本编辑器打开ho ...