Java之Map接口

    Map 集合是用來存儲 「鍵(K)-(V)」映射對的集合。它是一個接口。它的實現類中,存儲「鍵(K)-(V)」映射對是經過鍵來惟一標識,Map 底層的「鍵(K)」是用Set來存放的。因此自定義的類,存放在Map的實現類中,須要重寫hashCode equals 方法。java

      經常使用的實現類:HashMapTreeMapHashTable安全

HashMapHashTableTreeMap的區別:ide

HashMap1、線程不安全的,不一樣步的測試

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

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集合。

相關文章
相關標籤/搜索