java核心技術卷I-遺留的集合

遺留的集合

從 Java 第 1 版問世以來, 在集合框架出現之前已經存在大量“ 遺留的” 容器類。在這裏插入圖片描述

Hashtable類

Hashtable 類與 HashMap 類的作用一樣,實際上,它們擁有相同的接口。與 Vector 類的方法一樣。Hashtable 的方法也是同步的。如果對同步性或與遺留代碼的兼容性沒有任何要求,就應該使用 HashMap。如果需要併發訪問, 則要使用 ConcurrentHashMap

枚舉

遺留集合使用 Enumeration 接口對元素序列進行遍歷。Enumeration 接口有兩個方法, 即hasMoreElements 和 nextElement。 這兩個方法與 Iterator 接口的 hasNext 方法和 next 方法十分類似。
Hashtable 類的 elements 方法將產生一個用於描述表中各個枚舉值的對象

Enuineration<Einployee> e = staff.elements();
while (e.HasMoreElements())
{
	Employee e = e.nextElement();
}

屬性映射

屬性映射(property map) 是一個類型非常特殊的映射結構。它有下面 3 個特性:

鍵與值都是字符串。
表可以保存到一個文件中, 也可以從文件中加載。
使用一個默認的輔助表。

實現屬性映射的 Java 平臺類稱爲 Properties。
屬性映射通常用於程序的特殊配置選項。

從 1.0 版開始,標準類庫中就包含了 Stack類,其中有大家熟悉的 push 方法和 pop方法。但是, Stack 類擴展爲 Vector 類,從理論角度看,Vector 類並不太令人滿意,它可以讓棧使用不屬於棧操作的 insert 和 remove 方法,即可以在任何地方進行插入或刪除操作,而不僅僅是在棧頂。

位集

Java 平臺的 BitSet 類用於存放一個位序列(它不是數學上的集,稱爲位向量或位數組更爲合適)。如果需要高效地存儲位序列(例如,標誌)就可以使用位集。由於位集將位包裝在字節裏,所以,使用位集要比使用 Boolean 對象的 ArrayList 更加高效。
BitSet 類提供了一個便於讀取、設置或清除各個位的接口。使用這個接口可以避免屏蔽和其他麻煩的位操作。如果將這些位存儲在 int 或丨ong 變量中就必須進行這些繁瑣的操作。

bucketOfBits.get(i)

如果第 i 位處於“ 開” 狀態,就返回 true; 否則返回 false。

bucketOfBits.set(i)

將第 i 位置爲“ 開” 狀態。最後

bucketOfBits.clear(i)

將第 i 位置爲“ 關” 狀態。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章