Map接口
① 映射(map)是一個存儲鍵/值對的對象。給定一個鍵,可以查詢到它的值,鍵和值都是對象;
② 鍵必須是唯一的,值可以重復;
③ 有些映射可以接收null鍵和null值,而有的不行;
④ 下面的接口可以支持映射:
接口
描述
Map
映射唯一關鍵字給值
Map.Entry
描述映射中的元素(關鍵字/值對)。這是Map的一個內部類
SortedMap
擴展Map以便關鍵字按升序保持
⑤ Map接口映射唯一鍵到值;
⑥ 鍵(key)是以後用於檢索值的對象。給定一個鍵和一個值,可以存儲這個值到Map對象中,以後可以使用對應鍵來檢索它;
⑦ Map接口定義的方法:
a) int size()
b) boolean isEmpty()
c) boolean containsKey(Object key)
d) boolean containsValue(Object value)
e) V get(Object key)
f) V put(K key,V value)
g) V remove(Object key)
h) Collection<V> values()
i) Set<Map.Entry<K,V>> entrySet() 返回包含映射關系的set視圖
⑧ Map.Entry接口代表映射項(鍵-值對)類型,是Map的嵌套類型;
⑨ Map接口定義的entrySet()方法返回包含映射項Entry的集合(Set),集合中的元素是Map.Entry類型;
⑩ Map.Entry接口定義的方法:
a) K getKey()
b) V getValue()
c) V setValue(V value)
HashMap及常用API
① HashMap類是基於哈希表的map接口的實現,並允許使用null鍵和null值;
② 構造方法:
a) HashMap()
b) HashMap(Map m)
c) HashMap(int capacity)
d) HashMap(int capacity,float fillRatio)
③ HashMap實現Map並擴展AbstractMap,本身並沒有增加任何新的方法;
④ 散列映射不保證它的元素的順序,元素加入散列映射的順序並不一定是它們被迭代讀出的順序;
添加及輸出
1 Map<String, String> map = new HashMap<String, String>(); 2 map.put("zhangsan", "張三"); 3 map.put("zhangsan", "李四");//會覆蓋上面的'張三'值 4 map.put("jay", "小明"); 5 map.put("marry", "小紅"); 6 System.out.println(map);
輸出結果:
{jay=小明, zhangsan=李四, marry=小紅}
獲取map中的所有鍵
1 Set<String> keys=map.keySet(); 2 for(String key:keys){ 3 System.out.println(key); 4 }
輸出結果: