Java 資料結構


Java工具包提供了強大的資料結構。在Java中的資料結構主要包括以下幾種介面和類別:

  •                 列舉(Enumeration)

  •                 位元集合(BitSet)

  •                 向量(Vector)

  •                 堆疊(Stack)

  •                 字典(Dictionary)

  •                 哈希表(Hashtable)

  •                 屬性(Properties)

以上這些類別是傳統遺留的,在Java2中引入了一種新的框架-集合框架(Collection),我們後面再討論。


列舉(Enumeration)

枚舉(Enumeration)介面雖然它本身不屬於資料結構,但它在其他資料結構的範疇裡應用很廣。 枚舉(The Enumeration)介面定義了一種從資料結構中取回連續元素的方式。

例如,枚舉定義了一個叫nextElement 的方法,該方法用來得到一個包含多元素的資料結構的下一個元素。

關於枚舉介面的更多信息,請參見枚舉(Enumeration)。


位元集合(BitSet)

位元集合類別實作了一組可以單獨設定和清除的位元或標誌。

該類別在處理一組布林值的時候非常有用,你只需要給每個值賦值一"位",然後對位元進行適當的設定或清除,就可以對布林值進行操作了。

關於該類別的更多信息,請參見位元集合(BitSet)。


向量(Vector)

向量(Vector)類別和傳統陣列非常相似,但是Vector的大小能根據需要動態的變化。

和陣列一樣,Vector物件的元素也能透過索引存取。

使用Vector類別最主要的好處就是在創建物件的時候不必給物件指定大小,它的大小會根據需要動態的變化。

關於該類別的更多信息,請參見向量(Vector)


堆疊(Stack)

堆疊(Stack)實現了一個後進先出( LIFO)的資料結構。

你可以把堆疊理解為物件的垂直分佈的棧,當你加入一個新元素時,就將新元素放在其他元素的頂端。

當你從堆疊中取元素的時候,就從堆疊頂部取一個元素。換句話說,最後進棧的元素最先被取出。

關於該類別的更多信息,請參見堆疊(Stack)。


字典(Dictionary)

字典(Dictionary) 類別是一個抽象類,它定義了鍵映射到值的資料結構。

當你想要透過特定的鍵而不是整數索引來存取資料的時候,這時候應該使用Dictionary。

由於Dictionary類別是抽象類別,所以它只提供了鍵映射到值的資料結構,而沒有提供特定的實作。

關於該類的更多信息,請參見字典( Dictionary)。


哈希表(Hashtable)

Hashtable類別提供了一種在使用者定義鍵結構的基礎上來組織資料的手段。

例如,在地址列表的哈希表中,你可以根據郵遞區號作為鍵來儲存和排序數據,而不是透過人名。

雜湊表鍵的具體意義完全取決於雜湊表的使用情境和它所包含的資料。

關於該類別的更多信息,請參見哈希表(HashTable)。


屬性(Properties)

Properties 繼承於 Hashtable.Properties 類別表示了一個持久的屬性集.屬性清單中每個鍵及其對應值都是一個字串。

Properties 類別被許多Java類別使用。例如,在取得環境變數時它就作為System.getProperties()方法的回傳值。

關於該類別的更多信息,請參見屬性(Properties)。