Java之Map接口

    Map 集合是用來存儲 “鍵(K)-(V)”映射對的集合。它是一個接口。它的實現類中,存儲“鍵(K)-(V)”映射對是通過鍵來唯一標識,Map 底層的“鍵(K)”是用Set來存放的。所以自定義的類,存放在Map的實現類中,需要重寫hashCode equals 方法。

      常用的實現類:HashMapTreeMapHashTable

HashMapHashTableTreeMap的區別:

HashMap1、線程不安全的,不同步的

2、能最多存儲一個null鍵,任意多個null

3、有containsKey(),containsValue()方法,沒有contains() 方法

3、繼承AbstractMap<K,V>

Hashtable1、線程安全的,同步的。

2、不能有null也不能有null,否則運行時出空指針異常;

3基於陳舊的Dictionary<K,V> ,contains() 方法,用於測試此映射表中是否存在指定值,等同於HashMap類中的containsValue()(本類中也有)

TreeMap:線程不安全的,不同步的。存入的元素的Key,必須是“可比較的”,因爲它的key底層使用TreeSet來實現的,即存入的元素必須實現java.lang.Comparable<T>接口,或者是在創建TreeMap對象是指定一個實現java.util.Comparator<T>接口比較器。參考文檔JDK API 1.6

Map接口中定義的方法(只列舉常用的):

booleancontainsKey(Object key):判斷集合Key中是否包含傳入的key.

booleancontainsValue(Object value): 判斷集合value中是否包含傳入的value值。

V get(Object key):根據key得到指定的值。

boolean isEmpty():判斷集合是否爲空。

V put(K key, Vvalue):將鍵-值對存入集合中,返回的是value類型的舊值。如果原先沒有值,會返回null

V remove(Objectkey):刪除指定的鍵-值對

int size():返回集合的大小。

void clear():清空集合中的所用內容。

Set<K> keySet();//返回Key的集合,用於遍歷Map集合。

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