package com.wsq.collection;import java.util.ArrayList;
import java.util.Collection;
public class Demo4_CollectionAll {public static void main(String[] args) {demo1(); //c1.addAll(c2);將c2整個集合給添加到c1中,即,c2集合中的每一個元素給添加到c1這個集合里demo2(); //c1.removeAll(c2),刪除c1和c2兩個集合里面的交集元素demo3(); //c1.containsAll(c2),判斷調用的集合是否包含傳入的集合,若c1里面包含c2返回true,否則返回falsedemo4(); //c1.retainAll(c2),取c2和c1兩個集合里面的交集元素}public static void demo1(){ //c1.addAll(c2);將c2整個集合給添加到c1中,即,c2集合中的每一個元素給添加到c1這個集合里Collection c1 = new ArrayList();c1.add("a");c1.add("b");c1.add("c");c1.add("d");Collection c2 = new ArrayList();c2.add("a");c2.add("b");c2.add("c");c2.add("d");//c1.addAll(c2); 將c2整個集合給添加到c1中,即,c2集合中的每一個元素給添加到c1這個集合里//輸出結果:[a, b, c, d, a, b, c, d]//c1.add(c2); 把c2整個集合當作一個對象添加到c1集合里面去//輸出結果:[a, b, c, d, [a, b, c, d]] System.out.println(c1);//將c2看成一個對象添加到c1中}public static void demo2(){ //c1.removeAll(c2),刪除c1和c2兩個集合里面的交集元素Collection c1 = new ArrayList();c1.add("a");c1.add("b");c1.add("c");c1.add("d");Collection c2 = new ArrayList();c2.add("a");c2.add("b");c2.add("z");boolean b = c1.removeAll(c2); //刪除的是交集//c1.removeAll(c2),刪除c1和c2兩個集合里面的交集元素System.out.println(b); //如果有交集,刪除掉交集,返回true,若沒有交集,返回falseSystem.out.println(c1);}public static void demo3(){ //c1.containsAll(c2),判斷調用的集合是否包含傳入的集合,若c1里面包含c2返回true,否則返回falseCollection c1 = new ArrayList();c1.add("a");c1.add("b");c1.add("c");c1.add("d");Collection c2 = new ArrayList();c2.add("a");c2.add("b");c2.add("z");boolean b = c1.containsAll(c2); //判斷調用的集合是否包含傳入的集合System.out.println(b); //若c1里面包含c2返回true,否則返回false,有重復的沒事,只有c1里面有跟c2里面的所有的元素都一樣的就行}private static void demo4() { //c1.retainAll(c2),取c2和c1兩個集合里面的交集元素Collection c1 = new ArrayList(); //創建第一個集合c1c1.add("a"); //向c1集合添加元素c1.add("b");c1.add("c");c1.add("d");//eclipse快捷鍵Alt + shift + R 改名Collection c2 = new ArrayList(); //創建第二個集合c2c2.add("a"); //向c2集合添加元素c2.add("b");c2.add("z");//取交集,如果調用的集合改變就返回true,如果調用的集合不變就返回false//即:就看c1,c1集合變了就返回true,若c1集合沒有發生改變就返回false//例如,將c1和c2的交集元素a,b賦值給c1,c1集合元素改變,所以返回true//若c2集合只有z一個元素的時候,交集為null,把null賦值給c1,c1集合的元素也發生了改變,所以也會返回true//若調用的集合不變,即當c2中的元素跟c1中的元素一樣的時候,也就是c1和c2的交集為c1,即c1集合的元素沒有發生變化,就會返回falseboolean b = c1.retainAll(c2); //取交集System.out.println(b); //因為有交集a,b,所有輸出結果為trueSystem.out.println(c1); //輸出結果為[a, b]即所有的交集元素}
}