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

相關文章
相關標籤/搜索