java集合——遗留的集合
【0】README
0.1) 本文描述轉自 core java volume 1, 源代碼為原創,旨在理解 java集合——遺留的集合 的相關知識;
0.2) for full source code , please visit https://github.com/pacosonTang/core-java-volume/blob/master/chapter13/LegacyTest.java
0.3) for detailed java.util.Properties class , please visit http://blog.csdn.net/PacosonSWJTU/article/details/50346443
【1】我們討論java 問世以來就存在的集合類: Hashtable 和其非常有用的子類 Properties , Vector的子類 Stack 以及 BitSet類;
【2】Hashtable類(它與HashMap類的作用一樣,Hashtable是同步的,HashMap是異步的)
- 1)Hashtable 的方法是同步的, 如果對同步性沒有要求, 就應該使用 HashMap; (干貨——Hashtable 與 HashMap 的區別)
【3】 枚舉
- 3.1)遺留集合使用 Enumeration 接口對元素序列進行遍歷, 它有兩個方法: hasMoreElements 和 nextElement 方法;
- 3.2)看個荔枝:(Hashtable 類的 elements 方法將產生一個用于描述表中各個枚舉值的對象)
- 3.3)靜態方法 Collections.enumeration 將產生一個枚舉對象, 枚舉集合中的元素。 如:
【4】 屬性映射表(Properties)
4.1)屬性映射表是一個類型非常特殊的映射表結構, 有3個特性(Features): (干貨——屬性映射表Properties特性)
- F1)鍵與值都是 字符串;
- F2)表可以保存到一個文件中, 也可以從 文件中加載;
- F3)使用一個默認的輔助表。
4.2)實現屬性映射表的java平臺 被稱為 Properties;
4.3)屬性映射表 通常用于程序的 特殊配置選項, 見第10章;
【5】 棧(Stack)
5.1)標準類庫中包含了 棧類(Stack): 而Stack 又擴展為 Vector類;
5.2)Vector類 并不太令人滿意 (干貨): 因為 它可以使用不屬于 棧操作的 insert 和 remove 方法, 即可以在任何地方進行插入和刪除操作, 而不僅僅在棧頂;
【6】 位集(BitSet)
6.1)java平臺的 BitSet 類用于存放一個位序列 。 如果需要高效地存儲位序列(例如標志)就可以使用位集。
6.2)由于位集將位包裝在字節里, 所以,使用 位集要比使用 Boolean 對象的 ArrayList 更加有效;
6.3)看個荔枝(對于一個名為 bucketOfBits 的BitSet):
- 6.3.1)查看狀態: bucketOfBits.get(i);
- 6.3.2)開啟狀態: bucketOfBits.set(i);
- 6.3.3)關閉狀態: bucketOfBits.clear(i);
6.4)實際荔枝:(首先將所有位置設置為 開狀態, 然后將已知素數的倍數所對應的位設置為 關狀態, 結果這個操作保留下來的位對應的數就是 素數啦)
總結
以上是生活随笔為你收集整理的java集合——遗留的集合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java集合——集合与数组间的转换+算法
- 下一篇: java集合——java.util.Pr