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. [java源码解析]对HashMap源码的分析(二)

    上文我们讲了HashMap那骚骚的逻辑结构,这一篇我们来吹吹它的实现思想,也就是算法层面.有兴趣看下或者回顾上一篇HashMap逻辑层面的,可以看下HashMap源码解析(一).使用了哈希表得“拉链法 ...

  2. codeforces 638B—— Making Genome in Berland——————【类似拓扑排序】

    Making Genome in Berland time limit per test 1 second memory limit per test 256 megabytes input stan ...

  3. php中array_walk() 和 array_map()两个函数区别

    两个函数的共性和区别: 1.传入这两个函数的 $value,就是数组中的单一个元素. 2.array_walk() 仅返回true或者false,array_map() 返回处理后的数组: 3.要得到 ...

  4. Dell解决黑苹果网卡(BCM94352ZAE/DW1560)怎么都打不开WiFi

    Dell解决黑苹果网卡(BCM94352ZAE/DW1560)怎么都打不开WiFi 2017年10月20日17:41:00 by SemiconductorKING 本来觉得驱动这个网卡不是个问题,以 ...

  5. [转]字符编码笔记:ASCII,Unicode 和 UTF-8

      本文非原创,转载 ,原文地址 :http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 作者: 阮一峰 日期: 20 ...

  6. javaweb之MVC设计模式

    1.MVC简介 MVC是Model-View-Controller的简称,即模型-视图-控制器.MVC是一种设计模式,它把应用程序分成三个核心模块:模型,视图,控制器,它们各自处理自己的任务. 模型( ...

  7. 【转载】RocketMQ与Kafka对比(18项差异)

    转载自 https://github.com/alibaba/RocketMQ/wiki/rmq_vs_kafka RocketMQ与Kafka对比(18项差异) 淘宝内部的交易系统使用了淘宝自主研发 ...

  8. JS里的居民们7-对象和数组转换

    编码 学习通用的数据用不同的数据结构进行存储,以及相互的转换 对象转为数组: var scoreObject = { "Tony": { "Math": 95, ...

  9. 201610-H5项目总结

    1.首屏进入动效使用jQuery的animate(); $('.btn_driver').animate({ left:'26%' },'slow'); $('.btn_show').animate( ...

  10. c# json数组动态字段名

    根据给定的列名动态生成json数组 List<string> cols = new List<string>() { "姓名","性别" ...