java集合框架總結(四)

2021-07-31 01:12:23 字數 1918 閱讀 4817

list 介面繼承了 collection 介面以定義乙個允許重複項的有序集合。該介面不但能夠對列

表的一部分進行處理,還新增了面向位置的操作。 

(1) 面向位置的操作包括插入某個元素或 collection 的功能,還包括獲取、除去或更改元素

的功能。在 list 中搜尋元素可以從列表的頭部或尾部開始,如果找到元素,還將報告元素所

在的位置 : 

(2) list 介面不但以位置序列迭代的遍歷整個列表,還能處理集合的子集: 

listiterator 介面繼承 iterator 介面以支援新增或更改底層集合中的元素,還支援雙向訪

問。listiterator沒有當前位置,游標位於呼叫previous和next方法返回的值之間。乙個

長度為n的列表,有n+1個有效索引值: 

「正常情況下,不用listiterator改變某次遍歷集合元素的方向 — 向前或者向後。雖然在

技術上可以實現,但previous() 後立刻呼叫next(),返回的是同乙個元素。把呼叫 next()

和previous()的順序顛倒一下,結果相同。」 

我們還需要稍微再解釋一下 add() 操作。新增乙個元素會導致新元素立刻被新增到隱式光

標的前面。因此,新增元素後呼叫 previous() 會返回新元素,而呼叫 next() 則不起作用,

返回新增操作之前的下乙個元素。」 

有兩個抽象的 list 實現類:abstractlist 和 abstractsequentiallist。像 abstractset 類

一樣,它們覆蓋了 equals() 和 hashcode() 方法以確保兩個相等的集合返回相同的雜湊碼。

若兩個列表大小相等且包含順序相同的相同元素,則這兩個列表相等。這裡的 hashcode() 實

現在 list 介面定義中指定,而在這裡實現。 

除了equals()和hashcode(),abstractlist和 abstractsequentiallist實現了其餘 list 方

法的一部分。因為資料的隨機訪問和順序訪問是分別實現的,使得具體列表實現的建立更為容

易。需要定義的一套方法取決於您希望支援的行為。您永遠不必親自 提供的是 iterator方

法的實現。 

在「集合框架 」中有兩種常規的 list 實現:arraylist 和 linkedlist。使用兩種 list 實

現的哪一種取決於您特定的需要。如果要支援隨機訪問,而不必在除尾部的任何位置插入或除

去元素,那麼,arraylist 提供了可選的集合。但如果,您要頻繁的從列表的中間位置新增和

除去元素,而只要順序的訪問列表元素,那麼,linkedlist 實現更好。 

「arraylist 和 linkedlist 都實現 cloneable 介面,都提供了兩個建構函式,乙個無參的,

乙個接受另乙個collection」 

(1)、linkedlist類 

linkedlist類新增了一些處理列表兩端元素的方法。 

「使用這些新方法,您就可以輕鬆的把 linkedlist 當作乙個堆疊、佇列或其它面向端點的數

據結構。」 

(2)、arraylist類 

arraylist類封裝了乙個動態再分配的object陣列。每個arraylist物件有乙個capacity。

這個capacity表示儲存列表中元素的陣列的容量。當元素新增到arraylist時,它的capacity

在常量時間內自動增加。 

在向乙個arraylist物件新增大量元素的程式中,可使用ensurecapacity方法增加capacity。

這可以減少增加重分配的數量。

(3).、randomaccess介面 

乙個特徵介面。該介面沒有任何方法,不過你可以使用該介面來測試某個集合是否支援有效的

隨機訪問。arraylist和vector類用於實現該介面

Java集合框架總結

list集合要點總結 1.集合框架的最頂層為collection介面。2.集合裡存放的並不是物件的實體,而是物件實體的引用位址。3.集合可以通過迭代器 iterator 來遍歷元素,iterator 方法實際上是返回了集合中的乙個內部類例項,該內部類例項實現了iterator介面,並且可以直接訪問儲...

Java 集合框架總結

1.元素是否可以為null 除了hashtable外,vector,arraylist,linkedlist,treeset,hashset,hashmap,linkedhashmap,treemap 元素都可以為空 2.是否線性安全 除hashtable,vecotr外,其他都不是執行緒安全的。在...

java總結(集合框架)

1 集合框架 collection and map,集合和對映,容器類 cpp 集合框架是為表示是為表示和操作集合而規定的一種統一的標準體系結構 在程式設計中容器是用來組織和儲存其他物件的物件 實現鍊錶的類就是乙個容器的例項 1 list 元素有先後次序的集合,元素有index位置 元素可以重複 繼...