Map類及其主要的實現類

Enjoy_process發表於2018-10-13

Map介面提供將鍵對映至值的功能,每個鍵最多隻能對映至一個值。Map介面的主要方法如表1所示

表1 Map介面中的常用方法
方法宣告 方法功能
Object put(Object key,Object value) 將指定的值和鍵相關聯,如果對映中包含了鍵key則這是一個更新操作
Object get(Object key) 返回鍵為key的值
Object remove(Object key) 如果存在此鍵的對映關係,則將其從對映中移除
boolean isEmpty() 判斷是否為空
void clear() 清空
int size() 返回鍵值對的個數
boolean containsKey(Object key) 是否含有鍵為key的鍵值對
boolean containsValue(Object value) 是否含有值為value的鍵值對
Set keySet() 返回此對映中包含的鍵的Set檢視
Collection value() 返回此對映中包含的值的Collection檢視

Map介面的實現類主要有HashMap、LinkedHashMap和TreeMap。HashMap以雜湊表為核心實現Map介面,它的鍵-值對的順序和放入的順序無關;鍵無重複。LinkedHashMap以雜湊表和連結串列為核心實現Map介面,鍵-值對的順序是放入的順序;鍵無重複。TreeMap以二叉樹為核心實現Map介面,鍵-值對按照鍵的升序進行排列;鍵值無重複。

HashMap與HashTable

HashMap是基於雜湊表的Map介面的實現。此實現提供所有可選的對映操作,並允許使用空(null)值和空(null)鍵。除了不同步和允許使用null之外,HashMap類與HashTable類大致相同。HashTable類實現一個雜湊表,該雜湊表將鍵對映到相應的值。任何非null物件都可以用作鍵或值。為了成功地在雜湊表中儲存和檢索物件,用作鍵的物件必須實現hashCode方法和equals方法。

 

 

相關文章