集合框架_Collection集合的功能概述、Collection集合的基本功能測試
阿新 • • 發佈:2019-02-10
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); } }