鍍金池/ 教程/ Java/ Java 數(shù)據(jù)結(jié)構(gòu)
Java 接口
Java 方法
Java 數(shù)字
Java 條件判斷
Java 異常處理
Java 字符
Java 重寫
Java 網(wǎng)絡(luò)編程
Java 數(shù)據(jù)結(jié)構(gòu)
Java 的對(duì)象和類
Java 多線程
Java 封裝
Java 數(shù)組
Java Applet 基礎(chǔ)
Java 庫(kù)類
Java 抽象
Java 繼承
Java 正則表達(dá)式
Java 描述符的類型
Java 發(fā)送郵件
Java 序列化
Java 泛型
Java 多態(tài)
Java 變量類型
Java 基本數(shù)據(jù)類型
Java 包
Java 快速參考指南
Java 基本運(yùn)算符
Java 概述
Java 字符串
Java 循環(huán)控制
Java 環(huán)境設(shè)置
Java 文件注釋
Java 文件和 I/O
Java 集合
Java 基本語法
Java 日期和時(shí)間

Java 數(shù)據(jù)結(jié)構(gòu)

Java 工具包中所提供的數(shù)據(jù)結(jié)構(gòu)非常強(qiáng)大并且有很多的功能。這些數(shù)據(jù)結(jié)構(gòu)包含以下的接口和類:

  • Enumeration
  • BitSet
  • Vector
  • Stack
  • Dictionary
  • Hashtable
  • Properties

現(xiàn)在這些類都是舊的了, Java-2 已經(jīng)引入了一種新的框架叫做 Collections Framework,在下一個(gè)章節(jié)中來講解它。

Enumeration

枚舉接口本身并不是一個(gè)數(shù)據(jù)結(jié)構(gòu),但是它在其他數(shù)據(jù)結(jié)構(gòu)中非常重要。 The Enumeration 接口定義了一種方法可以從一個(gè)數(shù)據(jù)結(jié)構(gòu)中連續(xù)獲取元素。

例如,Enumeration 定義了一個(gè)叫做 nextElement 的方法,它可以用來在一個(gè)包含很多元素的數(shù)據(jù)結(jié)構(gòu)中獲得下一個(gè)元素。

BitSet

BitSet 類實(shí)現(xiàn)了一組 bits 或 flags,可以被獨(dú)立的設(shè)置和清除。

在你需要保存一組布爾值的時(shí)候這個(gè)類非常有用;你只需要給每個(gè)值或集合賦值一個(gè) bit 并且可以視情況設(shè)置或清除它。

Vector

Vector 類和傳統(tǒng)的 Java 數(shù)組類似,但是它可以增添新的元素。

和數(shù)組一樣,Vector 對(duì)象的元素可以通過下標(biāo)序號(hào)來訪問。

對(duì)于使用 Vector 類很好的是,在創(chuàng)建的時(shí)候不用擔(dān)心去設(shè)置一個(gè)特定的集合大小;當(dāng)必要的時(shí)候,它可以自動(dòng)收縮和擴(kuò)張。

Stack

Stack 類中的元素后進(jìn)先出(LIFO)。

你可以簡(jiǎn)單認(rèn)為 stack 就是一個(gè)對(duì)象的垂直堆棧;當(dāng)你添加一個(gè)新元素的時(shí)候,它就位于其它元素的頂部。

當(dāng)你將一個(gè)元素移出 stack,從棧的頂部開始移出。換句話說,加進(jìn)棧的最后一個(gè)元素會(huì)被最先移除。

Dictionary

Dictionary 類是一個(gè)定義了鍵值對(duì)映射這種數(shù)據(jù)結(jié)構(gòu)的抽象類。

當(dāng)你想通過一個(gè)特殊的鍵來訪問數(shù)據(jù)而不是通過一個(gè)整數(shù)下標(biāo)時(shí)最好使用 Dictionary 這個(gè)類。

因?yàn)?Dictionary 類是抽象的,它只提供了鍵值對(duì)映射的數(shù)據(jù)結(jié)構(gòu)框架而不是一個(gè)具體的實(shí)現(xiàn)。

Hashtable

Hashtable 類提供了一種組織數(shù)據(jù)的方式,依賴于一些用戶自定義的鍵。

例如,在一個(gè)地址列表的 hash table 中,你可以依賴于像 ZIP code 這種鍵來存儲(chǔ)和排序數(shù)據(jù)而不是依賴于一個(gè)人的名字。

在 hash table 中鍵的特殊含義完全依賴于 hash table 的用途和它所包含的數(shù)據(jù)。

Properties

Properties 是 Hashtable 的一個(gè)子類。它用來包含值的列表,在這個(gè)列表中鍵是一個(gè)字符串并且值也是一個(gè)字符串。

Properties 類被很多其它 Java 類使用。例如,當(dāng)獲取環(huán)境變量值時(shí),它是 System.getProperties( ) 這個(gè)方法返回值的對(duì)象類型。