【Java類集】_認識類集、Collection介面筆記

來源:互聯網
上載者:User

【Java類集】_認識類集、Collection介面筆記

3、具體內容

類集作用

類集實際上就是一個動態對象數組,與一般的對象數組不同,類集的對象內容可以任意擴充。

類集的特徵:
1.這種架構是高效能的
2.架構必須允許不同類型的類集以相同的方式和高度互操作方式工作
3.類集必須是容易擴充和修改的

對象數組中包含一組對象,但對象數組使用的時候存在一個長度限制,那麼類集是專門解決這種限制的,使用類集可以方便的向數組增加任意多個資料。
對象數組的操作中基本上都要保證物件類型的一致性,對於類集而言本身其內部的元素也應該保持一致,不管是何種類型的資料,所有的操作方式都應該是一樣的。

類集架構主要介面

No.    介面        描述
1    Collection    是存放一組單值的最大介面,所謂的單值是指集合中的每個元素都是一個對象,一般會很少直接使用此介面直接操作。
2    List        是Collection介面的子介面,也是最常用的介面,此介面對Collection進行了大量的擴充,裡面的內容是允許重複的。
3    Set        是Collection介面的子介面,沒有對Collection介面進行擴充,裡面不允許存放重複內容。
4    Map        Map是存放一對值的最大介面,即,介面中的每個元素都是一對,以key->value的形式儲存。
5    Iterator    集合的輸出介面,用於輸出集合中的內容,只能進行從前到後的單向輸出。
6    ListIterator    是Iterator的子介面,可以進行雙向輸出。
7    Enumeration    是最早的輸出介面,用於輸出集合中指定的內容。
8    SortedSet    單值的排序介面,實現此介面的集合類,裡面的內容是可以排序的,使用比較子進行排序。
9    SortedMap    存放一對值的排序介面,實現此介面的集合類,裡面的內容按照key排序,使用比較子排序。
10    Queue        隊列介面,此介面的子類可以實現隊列操作(FIFO, First-In-First-Out)
11    Map.Entry    Map.Entry的內部介面,每個Map.Entry對象都儲存著一對key->value的內容,每個Map介面中都儲存多個Map.Entry介面執行個體。

以上的介面必須全部掌握,並且掌握各個介面的主要特點。

介面的繼承關係

Collection介面:

Collection
List    Set    Queue    SortedSet

Map介面:

Map
SortedMap

Collection介面的定義

Collection是儲存單值集合的最大父介面。
Collection介面定義:
    public interface Collection<E> extends Iterable<E>

JDK1.5之後為Collection介面增加了泛型聲明

所有的類集操作都存放在java.util包中。

Collection介面的方法定義。

No.    方法                        類型        描述
1    public boolean add(E o)                普通        向集合中插入對象
2    public boolean addAll(Collection<? extend E?> c)普通        將一個集合的內容插入進來    
3    public void clear()                普通        清楚此集合中的所有元素
4    public boolean contains(Object    o)        普通        判斷某一個對象是否在集合中存在
5    public boolean containsAll(Collection<?> c)    普通        判斷一組對象是否在集合中存在
6    public boolean equals(Object o)            普通        對象比較
7    public int hashCode()                普通        雜湊碼
8    public boolean    isEmpty()            普通        集合是否為空白
9    public Iterator<E> iterator()            普通        為Iterator介面執行個體化
10    public boolean remove(Object o)            普通        刪除指定對象
11    public boolean removeAll(Collection<?> c)    普通        刪除一組對象
12    public boolean retainAll(Collection<?> c)    普通        儲存指定內容
13    public int size()                普通        求出集合的大小
14    public Object[] toArray()            普通        將一個集合變為對象數組
15    public <T> T[] toArray(T[] a)            普通        指定好返回的對象數群組類型

Collection在EJB    2.x中大量使用了Collection介面,但是隨著發展,sun公司開始將這些標準逐步的正常化,所以在sun一個開源————寵物商店,基本上就不再直接使用Collection,而使用List或Set,這樣來說可以更加清楚的表示出操作的類型。

Collection子介面的定義

Collection介面雖然是集合的最大介面,但是如果直接使用Collection介面進行操作的話,則表示的操作意義不明確,所以在java開發中已經不提倡直接使用Collection介面了,主要的以子介面下:

List介面:可以存放重複內容
Set介面:不能存放重複內容,所有重複內容靠hashCode()和equals()兩個方法區分的。
SortedSet介面:可以對集合中的資料進行排序
Queue列隊介面(FIFO):堆棧列隊

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.