list的取差集
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了list的取差集相关的知识,希望对你有一定的参考价值。
参考技术A 工作中用到了list的取差集,发现还是挺好用的。所以记录下。
需求list的方法说明备注
交集listA.retainAll(listB); listA内容变为listA和listB都存在的对象 listB不变
差集listA.removeAll(listB); listA中存在的listB的内容去重 listB不变
并集listA.removeAll(listB);
listA.addAll(listB);
为了去重,listA先取差集,然后追加全部的listBlistB不变
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的取差集的主要内容,如果未能解决你的问题,请参考以下文章