1. 程式人生 > >List的 並集、交集、差集操作

List的 並集、交集、差集操作

bject list imp st2 for add str class lis

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的 並集、交集、差集操作