java中經常使用的數據結構--Map

1、定義:

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

public interface Map<K,V>

  請注意!!!, Map 沒有繼承 Collection 接口, Map 提供 key 到 value 的映射,你能夠經過「鍵」查找「值」。一個 Map 中不能包含相同的 key ,每一個 key 只能映射一個 value 。 Map 接口提供 3 種集合的視圖, Map 的內容能夠被看成一組 key 集合,一組 value 集合,或者一組 key-value 映射。 html

  Map的API  java

void clear() 從該地圖中刪除全部的映射(可選操做)。 boolean containsKey(Object key) 若是此映射包含指定鍵的映射,則返回 trueboolean containsValue(Object value) 若是此地圖將一個或多個鍵映射到指定的值,則返回 true 。 Set<map.entry<k,v>> entrySet() 返回此地圖中包含的映射的Set視圖。 V get(Object key) 返回到指定鍵所映射的值,或 null若是此映射包含該鍵的映射。 boolean isEmpty() 若是此地圖不包含鍵值映射,則返回 true 。 Set<k> keySet() 返回此地圖中包含的鍵的Set視圖。 V put(K key, V value) 將指定的值與該映射中的指定鍵相關聯(可選操做)。 void putAll(Map<!--? extends K,? extends V--> m) 將指定地圖的全部映射覆制到此映射(可選操做)。 V remove(Object key) 若是存在(從可選的操做),從該地圖中刪除一個鍵的映射。 default boolean remove(Object key, Object value) 僅當指定的密鑰當前映射到指定的值時刪除該條目。 default V replace(K key, V value) 只有當目標映射到某個值時,才能替換指定鍵的條目。 default boolean replace(K key, V oldValue, V newValue) 僅噹噹前映射到指定的值時,才能替換指定鍵的條目。 int size() 返回此地圖中鍵值映射的數量。 Collection<v> values() 返回此地圖中包含的值的Collection視圖。 </v></k></map.entry<k,v>

Map中還包括一個內部類Entry,該類封裝了一個key-value對。Entry包含以下三個方法:
  K getKey()
  返回與此條目相對應的鍵。 
 
  V getValue()
  返回與此條目相對應的值。 
 
  V setValue(V value)
  用指定的值替換與該條目相對應的值(可選操做)

2、實現Map接口的子類

一、TreeMap : http://www.cnblogs.com/skywang12345/admin/EditPosts.aspx?postid=3310928post

二、HashMap : http://www.cnblogs.com/skywang12345/p/3310835.html學習

三、HashTable: http://www.cnblogs.com/skywang12345/p/3310887.htmlspa

四、Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析:http://www.importnew.com/28263.htmlcode

3、集合系列的學習

  http://www.cnblogs.com/skywang12345/p/3323085.htmlhtm

相關文章
相關標籤/搜索