Java筆記集合之Map

一、簡介

將鍵映射到值的對象。一個映射不能包含重複的鍵;每個鍵最多隻能映射到一個值。

此接口取代 Dictionary 類,後者完全是一個抽象類,而不是一個接口。

Map 接口提供三種collection 視圖,允許以鍵集、值集或鍵-值映射關係集的形式查看某個映射的內容。映射順序 定義爲迭代器在映射的 collection 視圖上返回其元素的順序。某些映射實現可明確保證其順序,如TreeMap 類;另一些映射實現則不保證順序,如 HashMap 類。

二、方法摘要

 void clear()
          從此映射中移除所有映射關係(可選操作)。
 boolean containsKey(Object key)
          如果此映射包含指定鍵的映射關係,則返回 true
 boolean containsValue(Object value)
          如果此映射將一個或多個鍵映射到指定值,則返回 true
 Set<Map.Entry<K,V>> entrySet()
          返回此映射中包含的映射關係的 Set 視圖。
 boolean equals(Object o)
          比較指定的對象與此映射是否相等。
 V get(Object key)
          返回指定鍵所映射的值;如果此映射不包含該鍵的映射關係,則返回 null
 int hashCode()
          返回此映射的哈希碼值。
 boolean isEmpty()
          如果此映射未包含鍵-值映射關係,則返回 true
 Set<K> keySet()
          返回此映射中包含的鍵的 Set 視圖。
 V put(K key,V value)
          將指定的值與此映射中的指定鍵關聯(可選操作)。
 void putAll(Map<? extendsK,? extends V> m)
          從指定映射中將所有映射關係複製到此映射中(可選操作)。
 V remove(Object key)
          如果存在一個鍵的映射關係,則將其從此映射中移除(可選操作)。
 int size()
          返回此映射中的鍵-值映射關係數。
 Collection<V> values()
          返回此映射中包含的值的 Collection 視圖。

三、HashMap與HashTable

   HashMap

      HashTable

public class Hashtable extends Dictionary implements Map
public class HashMap  extends AbstractMap implements Map
併發下使用HashMap就=就要自己添加同步了 Hashtable 中的方法是同步的
在HashMap中,null可以作爲鍵,這樣的鍵只有一個;可以有一個或多個鍵所對應的值爲null。當get()方法返回null值時,即可以表示 HashMap中沒有該鍵,也可以表示該鍵所對應的值爲null。因此,在HashMap中不能由get()方法來判斷HashMap中是否存在某個鍵, 而應該用containsKey()方法來判斷。 Hashtable中,key和value都不允許出現null值。

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