1. 程式人生 > >java集合框架(一)——框架結構及基礎介面

java集合框架(一)——框架結構及基礎介面

java.util包是一個重要的包,包含許多類和介面,它還包括java的一個功能強大的子系統——集合框架,集合框架是一個複雜接

口和類的層,提供了管理物件組的優化技術。

使用集合框架的目的有幾個,首先這種框架必須是高效能的,基礎集合(動態陣列、連結串列、樹、雜湊表)的實現是高效率的,

其次,框架允許以不同型別的集合以相似的方式進行操作,並且有高度的互用性,再次,必須很容易擴充套件和改變一個集合。所以集合

被設計為一系列介面,其概圖如下:

支援集合框架的介面總結於下表:

1、Collection介面

Collection是構造集合框架的基礎,collection是一個泛型介面,它必須被定義集合的任意類實現,它擴充套件了iterable介面,

學習它的方法有助於理解框架


                        boolean add(Object obj):向集合中新增一個元素。
                        boolean addAll(Collection c):向集合中新增一個集合的元素。
                        void clear():刪除集合中所有的元素。
                        boolean remove(Object obj):刪除集合中指定的元素。
                        boolean removeAll(Collection c):刪除集合中指定的集合元素。
                        boolean isEmpty():判斷集合是否為空。
                        boolean contains(Object obj):判斷集合是否包含指定的元素。
                        boolean containsAll(Collection c):判斷集合是否包含指定的集合中的元素。
                        Iterator iterator():迭代器。
                                hasNext():判斷是否還有元素
                                next():獲取下一個元素
                        boolean retainAll(Collection c):判斷集合中是否有相同的元素。
                        Object[] toArray():把集合變成陣列。

2、List介面

List介面擴充套件了collection,並宣告集合的行為是儲存一個序列的元素,使用基於零的索引,可以把元素插入到列表中或

者訪問元素

相比較於collection,list的add(int a),可以將元素插入到特定位置

E get(int index)

e set(int index) 讀取和設定元素

int indexof(obj)

int lastindexof(obj) 查詢元素第一次或最後一次出現的位置

list<e> sublist(int start,int end) 擷取子list

3、Set介面

set介面擴充套件了collection介面,並且宣告該集合不允許存在相同的元素,它沒有定義自己的方法

4、SortedSet介面

SortedSet介面擴充套件了Set介面並且宣告自己是升序的集合,除了Set介面的方法,他還聲明瞭自己的方法

Comparator<? super E> comparator() 返回排序的比較函式

E first() 返回排序集合的第一個元素

E last() 返回排序集合的最後一個元素

SortedSet headset(int end) 返回位置小於end的元素

5、Queue介面

它擴充套件了Collection介面,宣告一個佇列行為

E element() 返回佇列頂部的元素

boolean offer(E obj) 嘗試新增一個元素

E peek

E poll

E remove

只有兩種方法可以獲得被刪除元素,poll和remove,區別在於,如果佇列為空,poll返回null,remove丟擲異常

有兩種方法能夠獲得但不刪除元素,peek和element,區別在於,如果佇列為空,peek返回null,element丟擲異常