了解一下java集合框架

一、Map

映射表(也稱為關聯數組)的基本思想是它維護的是鍵-值(對)關聯,因此你可以使用鍵來查找值。標準的java類庫中包含了Map的幾種基本實現。

HashMap

Map基於散列表的實現(它實現了HashTable)。插入和查詢“鍵值對”的開銷是固定的。可以通過構造器設置容量和負載因子。以調整容器的性能。

LinkedHashMap

類似於HashMap,但是迭代遍歷它時,取得“鍵值對”的順序是其插入次序,或者是最近最少使用(LRU)的次序。只比HashMap慢一點;而在迭代訪問時反而更快,因為它是用鏈表維護內部結構。

TreeMap

基於紅黑樹的實現。查看“鍵”或者“鍵值對”時,它們會被排序(次序由Comparable或Comparator決定)。TreeMap的特點在於,所得到的結果是經過排序的。TreeMap是唯一的帶有subMap()方法的Map,它可以返回一個子樹。

WeakHashMap

弱鍵(weak key)映射,允許釋放映射所指向的對象;這是為解決某類特殊問題而設計的。如果映射之外沒有引用指向某個“鍵”,則此“鍵”可以被垃圾回收器回收。

ConcurrentHashMap

一種線程安全的Map,它不涉及同步加鎖。

IdentityHashMap

使用==替代equals()對“鍵”進行比較的散列映射。專為解決特殊問題而設計。

對Map中使用的鍵的要求與對Set中的元素的要求一樣,任何鍵都必須具有一個equals()方法;如果鍵被用於散列Map,那麼它必須還具有恰當的hashCode()方法;如果鍵被用於TreeMap,那麼它必須實現Comparable。

有關java集合框架中各接口和類的具體實現方法可以參看以下文章,java集合框架,總結的很詳細。學習資料,交流學習可以加群 679819153

二、有關java集合框架的應用

以上只是簡單的介紹了一下java容器的接口和實現類,下面我們通過幾個具體的筆試題來深入瞭解一下java集合框架的使用。

1、java集合框架的層次結構

Collection接口: 

Set接口:

HashSet具體類

LinkedHashSet具體類

TreeSet具體類

List接口: 

ArrayList具體類

LinkedList具體類

向量類Vector具體類

Stack具體類

Map接口:

HashMap類

LinkedHashMap類

TreeMap類 

瞭解一下java集合框架

學習資料,交流學習可以加群 679819153

三、正則表達式應用實例

校驗是否全由數字組成

/^[0-9]{1,20}$/

校驗登錄名:只能輸入5-20個以字母開頭、可帶數字、“_”、“.”的字串

/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/

^[a-zA-Z]{1} 表示第一個字符要求是字母。

([a-zA-Z0-9]|[.]){4,19}表示從第二位開始(因為它緊跟在上個表達式後面)的一個長度為4到9位的字符串,它要求是由大小寫字母、數字或者特殊字符集[.]組成。


分享到:


相關文章: