# Java 數據結構
Java工具包提供了強大的數據結構。在Java中的數據結構主要包括以下幾種接口和類:
* 枚舉(Enumeration)
* 位集合(BitSet)
* 向量(Vector)
* 棧(Stack)
* 字典(Dictionary)
* 哈希表(Hashtable)
* 屬性(Properties)
以上這些類是傳統遺留的,在Java2中引入了一種新的框架-集合框架(Collection),我們后面再討論。
## 枚舉(Enumeration)
枚舉(Enumeration)接口雖然它本身不屬于數據結構,但它在其他數據結構的范疇里應用很廣。 枚舉(The Enumeration)接口定義了一種從數據結構中取回連續元素的方式。
例如,枚舉定義了一個叫nextElement 的方法,該方法用來得到一個包含多元素的數據結構的下一個元素。
關于枚舉接口的更多信息,[請參見枚舉(Enumeration)](java-enumeration-interface.html)。
## 位集合(BitSet)
位集合類實現了一組可以單獨設置和清除的位或標志。
該類在處理一組布爾值的時候非常有用,你只需要給每個值賦值一"位",然后對位進行適當的設置或清除,就可以對布爾值進行操作了。
關于該類的更多信息,[請參見位集合(BitSet)](java-bitset-class.html)。
## 向量(Vector)
向量(Vector)類和傳統數組非常相似,但是Vector的大小能根據需要動態的變化。
和數組一樣,Vector對象的元素也能通過索引訪問。
使用Vector類最主要的好處就是在創建對象的時候不必給對象指定大小,它的大小會根據需要動態的變化。
關于該類的更多信息,[請參見向量(Vector)](java-vector-class.html)
## 棧(Stack)
棧(Stack)實現了一個后進先出(LIFO)的數據結構。
你可以把棧理解為對象的垂直分布的棧,當你添加一個新元素時,就將新元素放在其他元素的頂部。
當你從棧中取元素的時候,就從棧頂取一個元素。換句話說,最后進棧的元素最先被取出。
關于該類的更多信息,[請參見棧(Stack)](java-stack-class.html)。
## 字典(Dictionary)
字典(Dictionary) 類是一個抽象類,它定義了鍵映射到值的數據結構。
當你想要通過特定的鍵而不是整數索引來訪問數據的時候,這時候應該使用Dictionary。
由于Dictionary類是抽象類,所以它只提供了鍵映射到值的數據結構,而沒有提供特定的實現。
關于該類的更多信息,[請參見字典( Dictionary)](java-dictionary-class.html)。
## 哈希表(Hashtable)
Hashtable類提供了一種在用戶定義鍵結構的基礎上來組織數據的手段。
例如,在地址列表的哈希表中,你可以根據郵政編碼作為鍵來存儲和排序數據,而是通過人的名字。
哈希表鍵的具體含義完全取決于哈希表的使用情景和它包含的數據。
關于該類的更多信息,[請參見哈希表(HashTable)](java-hashTable-class.html)。
## 屬性(Properties)
Properties 繼承于 Hashtable.Properties 類表示了一個持久的屬性集.屬性列表中每個鍵及其對應值都是一個字符串。
Properties 類被許多Java類使用。例如,在獲取環境變量時它就作為System.getProperties()方法的返回值。
關于該類的更多信息,[請參見屬性(Properties)](java-properties-class.html)。
- Java 基礎
- Java 簡介
- Java開發環境配置
- Java基礎語法
- Java對象和類
- Java基本數據類型
- Java變量類型
- Java修飾符
- Java運算符
- Java循環結構 - for, while 及 do...while
- Java分支結構 - if...else/switch
- Java Number類
- Java Character類
- Java String類
- Java StringBuffer和StringBuilder類
- Java 數組
- Java 日期時間
- Java正則表達式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 異常處理
- Java 面向對象
- Java 繼承
- Java 重寫(Override)與重載(Overload)
- Java 多態
- Java 抽象類
- Java 接口
- Java 包(package)
- Java 高級教程
- Java 數據結構
- Java Enumeration接口
- Java Bitset類
- Java Vector 類
- Java Stack 類
- Java Dictionary 類
- Java Hashtable 接口
- Java Properties 接口
- Java 集合框架
- Java 泛型
- Java序列化
- Java 網絡編程
- Java 發送郵件
- Java 多線程編程
- Java Applet基礎
- Java 文檔注釋
- Servlet 教程
- Servlet 簡介
- Servlet 環境設置
- Servlet 生命周期
- Servlet 實例
- Servlet 表單數據
- Servlet 客戶端 HTTP 請求
- Servlet 服務器 HTTP 響應
- Servlet HTTP 狀態碼
- Servlet 編寫過濾器
- Servlet 異常處理
- Servlet Cookies 處理
- Servlet Session 跟蹤
- Servlet 數據庫訪問
- Servlet 文件上傳
- Servlet 處理日期
- Servlet 網頁重定向
- Servlet 點擊計數器
- Servlet 自動刷新頁面
- Servlet 發送電子郵件
- Servlet 包
- Servlet 調試
- Servlet 國際化
- JSP 基礎
- JSP 簡介
- JSP 開發環境搭建
- JSP 結構
- JSP 生命周期
- JSP 語法
- JSP 指令
- JSP 動作元素
- JSP 動作元素
- JSP 隱含對象
- JSP 客戶端請求
- JSP 服務器響應
- JSP HTTP 狀態碼
- JSP 表單處理
- JSP 過濾器
- JSP Cookies 處理
- JSP Session
- JSP 文件上傳
- JSP 日期處理
- JSP 頁面重定向
- JSP 點擊量統計
- JSP 自動刷新
- JSP 發送郵件
- JSP 高級教程
- JSP 標準標簽庫(JSTL)
- JSP 連接數據庫
- JSP XML 數據處理
- JSP JavaBean
- JSP 自定義標簽
- JSP 表達式語言
- JSP 異常處理
- JSP 調試
- JSP 國際化
- 免責聲明