1. 程式人生 > >集合框架_Collection集合的功能概述、Collection集合的基本功能測試

集合框架_Collection集合的功能概述、Collection集合的基本功能測試

package cn.itcast_01;

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

/*
 * 集合的由來:
 * 		我們學習的是面向物件的語言,而面嚮物件語言對事物的描述是通過物件體現的,為了方便對多個物件進行操作,我們就必須把這多個物件進行儲存。
 * 		而要想儲存多個物件,就不能是一個基本的變數,而應該是一個容器型別的變數,在我們目前所學習的知識裡面,有那些是容器型別的呢?
 * 		陣列和StringBuffer。但是呢?StringBuffer的結果是一個字串,不一定滿足我們的要求,所以我們只能選擇陣列,這就是物件陣列。
 * 		而物件陣列又不能適應變化的需求,因為陣列的長度是固定的,這個時候,為了適應變化的需求,Java就提供了集合類供我們使用。
 * 
 * 陣列和集合的區別:
 * 		A:長度區別
 * 			陣列的長度固定
 * 			集合長度可變
 * 		B:內容不同
 * 			陣列儲存的是同一種類型的元素(水杯比作容器,而陣列水杯容器,只能裝白開水)
 * 			而集合可以儲存不同型別的元素(水杯比作容器,而集合水杯容器,可以裝白開水、可樂、雪碧)
 * 		C:元素的資料型別問題
 * 			陣列可以儲存基本資料型別,也可以存檔引用資料型別。
 * 			集合只能儲存引用型別
 * 			
 * 集合是儲存多個元素的,但是呢,儲存多個元素我們也是有不同需求的:比如說,我要這多個元素中不能有相同的元素,再比如說,
 * 我要這多個元素按照某種規則來排序。 針對不同的需求,Java就提供了不同的集合類,這樣呢,Java就提供了很多個集合類。
 * 這多個集合的資料結構不同,結構不同不重要的,重要的是你要能儲存東西,並且還要能夠使用這些東西,比如說判斷,獲取等。
 * 既然這樣,那麼,多個集合類是有共性的內容的,我們把這些集合類的共性內容不斷的向上提取,最終就能形成集合的繼承體系結構。
 * 
 * 資料結構:資料的儲存方式。
 * 
 * Collection:是集合的頂層介面,它的子體系有重複的,有唯一的,有有序的,有無序的。
 * 
 * Collection的功能概述:
 * 		1:新增功能
 * 			boolean add(Object object):新增一個元素。
 * 			boolean addAll(Collection c):新增一個集合的元素。
 * 		2:刪除功能
 * 			vouid clear():移除所有元素。
 * 			boolean remove(Object o):移除一個元素。
 * 			boolean removeAll(Collection c):移除一個集合的元素。(是一個還是所有)
 * 		3:判斷功能
 * 			boolean contains(Object o):判斷集合中是否包含指定的元素。
 * 			boolean containsAll(Collection c):判斷集合中是否包含指定的集合元素。(是一個還是所有)
 * 			boolean isEmpty():判斷集合是否為空。
 * 		4:獲取功能
 * 			Iterator<E> iterator():(重點)
 * 		5:長度功能
 * 			int size():元素的個數。
 * 			面試題:陣列有沒有length()方法呢?字串有沒有length()方法呢?集合有沒有length()方法呢?
 * 					沒有,有,沒有
 * 		6:交集功能
 * 			boolean retainAll(Collection c):兩個集合都有的元素?思考元素去哪了,返回boolean又是什麼意思呢?
 * 		7:把集合轉換為陣列:
 * 			Object[] toArray():
 */
public class CollectionDemo {
	public static void main(String[] args) {
		// 測試不帶All的方法

		// 建立集合物件
		// Collection c = new Collection();//錯誤,因為介面不能例項化。
		Collection c = new ArrayList();

		// boolean add(Object object):新增一個元素。
		// System.out.println("add:"+c.add(null));
		c.add("hello");
		c.add("world");
		c.add("java");

		// vouid clear():移除所有元素。
		// c.clear();

		// boolean remove(Object o):移除一個元素。
		// System.out.println("remove:" + c.remove("hello"));
		// System.out.println("remove:" + c.remove("javaee"));

		// boolean contains(Object o):判斷集合中是否包含指定的元素。
		// System.out.println("contaions:"+c.contains("java"));
		// System.out.println("contaions:"+c.contains("android"));

		// boolean isEmpty():判斷集合是否為空。
		// System.out.println("isEmpty:" + c.isEmpty());
		
		//int size():元素的個數。
		System.out.println("size:"+c.size());

		System.out.println("c:" + c);
	}
}