01.數據結構

1.概述

Java工具包提供了強大的數據結構。在Java中的數據結構主要包括以下幾種接口和類:

  • 枚舉(Enumeration)
  • 位集合(BitSet)
  • 向量(Vector)
  • 棧(Stack)
  • 字典(Dictionary)
  • 哈希表(Hashtable)
  • 屬性(Properties)

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

2.枚舉(Enumeration)

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

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

3.向量(Vector)

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

和數組一樣,Vector 對象的元素也能通過索引訪問。

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

4.棧(Stack)

棧(Stack)實現了一個後進先出(LIFO)的數據結構。

你可以把棧理解為對象的垂直分佈的棧,當你添加一個新元素時,就將新元素放在其他元素的頂部。

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

5.字典(Dictionary)

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

當你想要通過特定的鍵而不是整數索引來訪問數據的時候,這時候應該使用 Dictionary。

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

6.哈希表(Hashtable)

Hashtable 類提供了一種在用戶定義鍵結構的基礎上來組織數據的手段。

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

哈希表鍵的具體含義完全取決於哈希表的使用情景和它包含的數據。

7.屬性(Properties)

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

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


分享到:


相關文章: