java 數據結構
java工具包提供了強大的數據結構。在java中的數據結構主要包括以下幾種接口和類:
- 枚舉(enumeration)
- 位集合(bitset)
- 向量(vector)
- 棧(stack)
- 字典(dictionary)
- 哈希表(hashtable)
- 屬性(properties)
以上這些類是傳統遺留的,在java2中引入了一種新的框架-集合框架(collection),我們后面再討論。
1. 枚舉(enumeration)
枚舉(enumeration)接口雖然它本身不屬于數據結構,但它在其他數據結構的范疇里應用很廣。 枚舉(the enumeration)接口定義了一種從數據結構中取回連續元素的方式。
例如,枚舉定義了一個叫nextelement 的方法,該方法用來得到一個包含多元素的數據結構的下一個元素。
關于枚舉接口的更多信息,請參見枚舉(enumeration)。
2. 位集合(bitset)
位集合類實現了一組可以單獨設置和清除的位或標志。
該類在處理一組布爾值的時候非常有用,你只需要給每個值賦值一"位",然后對位進行適當的設置或清除,就可以對布爾值進行操作了。
關于該類的更多信息,請參見位集合(bitset)。
3. 向量(vector)
向量(vector)類和傳統數組非常相似,但是vector的大小能根據需要動態的變化。
和數組一樣,vector對象的元素也能通過索引訪問。
使用vector類最主要的好處就是在創建對象的時候不必給對象指定大小,它的大小會根據需要動態的變化。
關于該類的更多信息,請參見向量(vector)
4. 棧(stack)
棧(stack)實現了一個后進先出(lifo)的數據結構。
你可以把棧理解為對象的垂直分布的棧,當你添加一個新元素時,就將新元素放在其他元素的頂部。
當你從棧中取元素的時候,就從棧頂取一個元素。換句話說,最后進棧的元素最先被取出。
關于該類的更多信息,請參見棧(stack)。
5. 字典(dictionary)
字典(dictionary) 類是一個抽象類,它定義了鍵映射到值的數據結構。
當你想要通過特定的鍵而不是整數索引來訪問數據的時候,這時候應該使用dictionary。
由于dictionary類是抽象類,所以它只提供了鍵映射到值的數據結構,而沒有提供特定的實現。
關于該類的更多信息,請參見字典( dictionary)。
6. 哈希表(hashtable)
hashtable類提供了一種在用戶定義鍵結構的基礎上來組織數據的手段。
例如,在地址列表的哈希表中,你可以根據郵政編碼作為鍵來存儲和排序數據,而不是通過人名。
哈希表鍵的具體含義完全取決于哈希表的使用情景和它包含的數據。
關于該類的更多信息,請參見哈希表(hashtable)。
7. 屬性(properties)
properties 繼承于 hashtable.properties 類表示了一個持久的屬性集.屬性列表中每個鍵及其對應值都是一個字符串。
properties 類被許多java類使用。例如,在獲取環境變量時它就作為system.getproperties()方法的返回值。
關于該類的更多信息,請參見屬性(properties)。