第三次學JAVA再學不好就喫翔(part76)--Collection類

學習筆記,僅供參考,有錯必糾


集合


Collection類


Collection類是java.util包下的一個類,使用該類時需要導包。它是一個接口,所以,不能被實例化。


成員方法


boolean add(E e)
//在集合中我們可以添加任意對象;如果此collection由於調用而發生更改,則返回 true 
boolean remove(Object o)
//從此collection中移除指定元素的單個實例,如果存在的話(可選操作)
void clear()
//移除此 collection 中的所有元素(可選操作)
boolean contains(Object o)
//如果此 collection 包含指定的元素,則返回 true
boolean isEmpty()
//如果此collection不包含任何元素,則返回 true。 
int size()
//返回此 collection 中的元素數。如果此 collection 包含的元素大於 Integer.MAX_VALUE,則返回 Integer.MAX_VALUE
boolean addAll(Collection c)
boolean removeAll(Collection c)
boolean containsAll(Collection c)
boolean retainAll(Collection c)

  • 舉個例子
package com.guiyang.restudy3;

import java.util.ArrayList;
import java.util.Collection;

import com.guiyang.bean.Student;

@SuppressWarnings({ "rawtypes", "unchecked" })

public class D1ArrayList {

	public static void main(String[] args) {
		Collection c = new ArrayList();		//父類引用指向子類對象
		boolean b1 = c.add("abc");
		boolean b2 = c.add(true);	//自動裝箱new Boolean(true);
		boolean b3 = c.add(100);
		boolean b4 = c.add(new Student("張三",23));			
		boolean b5 = c.add("abc");
		
		System.out.println(b1);
		System.out.println(b2);
		System.out.println(b3);
		System.out.println(b4);
		System.out.println(b5);
		
		System.out.println(c.toString());

	}

}

輸出:

true
true
true
true
true
[abc, true, 100, Student [name=張三, age=23], abc]

  • 舉個例子2
package com.guiyang.restudy3;

import java.util.ArrayList;
import java.util.Collection;

@SuppressWarnings({ "rawtypes", "unchecked" })

public class D1ArrayList {

	public static void main(String[] args) {
		Collection c = new ArrayList();		
		c.add("a");
		c.add("b");
		c.add("c");
		c.add("d");
		System.out.println(c);		
		System.out.println(c.size()); 			//獲取元素的個數
		
		c.remove("b");							//刪除指定元素
		System.out.println(c);		
		System.out.println(c.contains("b"));	//判斷是否包含
		c.clear();								//清空集合
		System.out.println(c.isEmpty());

	}
}

輸出:

[a, b, c, d]
4
[a, c, d]
false
true

  • 舉個例子3
package com.guiyang.restudy3;

import java.util.ArrayList;
import java.util.Collection;

@SuppressWarnings({ "rawtypes", "unchecked" })

public class D2ArrayList {

	public static void main(String[] args) {
		Demo1();
		System.out.println("-------");
		Demo2();
		System.out.println("-------");
		Demo3();
		System.out.println("-------");
		
		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.containsAll(c2);				//判斷調用的集合是否包含傳入的集合
		System.out.println(b);
		
	}

	private static void Demo3() {
		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);					//刪除的是交集
		System.out.println(b);
		System.out.println(c1);
	}

	private static void Demo2() {
		Collection c1 = new ArrayList();
		c1.add("a");
		c1.add("b");
		c1.add("c");
		c1.add("d");
		
		Collection c2 = new ArrayList();			//alt + shift + r改名
		c2.add("a");
		c2.add("b");
		c2.add("c");
		c2.add("d");
		
		c1.addAll(c2);							//將c2中的每一個元素添加到c1中
//		c1.add(c2);									//將c2看成一個對象添加到c1中
		System.out.println(c1);
	}

	private static void Demo1() {
		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");

		//取交集,如果調用的集合改變就返回true,如果調用的集合不變就返回false
		boolean b1 = c1.retainAll(c2);					//取交集
		System.out.println(b1);
		System.out.println(c1);
		boolean b2 = c1.retainAll(c2);					//取交集
		System.out.println(b2);
		System.out.println(c2);
	}
}

輸出:

true
[a, b, c]
false
[a, b, c]
-------
[a, b, c, d, a, b, c, d]
-------
true
[c, d]
-------
false
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章