看過來 ! ! ! 你怎么又走神了 ? ? ?
Map 是一種 鍵 - 值對 (集合) , Map 集合中 的 每一個 元素都 包含一個鍵對象和值對象 . 但是 注意咯 , 重點來咯 : 鍵對象是不可以重復(fù)的哦 , 而 值對象 是可以重復(fù)的 , 并且值對象 可以是 Map 類型的 , 就好比 二維數(shù)組中 的元素( 一維數(shù)組 )

image-20200608171256399.png
Map 接口主要是 這兩個實現(xiàn)類 ( 記住這兩個就夠啦 , 真好呀 ) : Hash Map 和 Tree Map , 其中 Hash Map 類是 根據(jù) 哈希算法來存取鍵值對象 , 但是 呢 Tree Map 類 可以對 鍵對象進行排序 .
Map 常用的方法 ( 新手記住下面這幾個就差不多了, 記那么多干嘛呢 )
| 方法名稱 | 說明 |
|---|---|
| V get(Object key) | 返回 Map 集合中指定鍵對象所對應(yīng)的值。V 表示值的數(shù)據(jù)類型 |
| V put(K key, V value) | 向 Map 集合中添加鍵-值對,返回 key 以前對應(yīng)的 value,如果沒有, 則返回 null |
| V remove(Object key) | 從 Map 集合中刪除 key 對應(yīng)的鍵-值對,返回 key 對應(yīng)的 value,如果沒有,則返回null |
| Set entrySet() | 返回 Map 集合中所有鍵-值對的 Set 集合,此 Set 集合中元素的數(shù)據(jù)類型為 Map.Entry |
| Set keySet() | 返回 Map 集合中所有鍵對象的 Set 集合 |
例子 說話
public class MapDemo1 {
public static void main(String[] args) {
HashMap<Object, Object> map = new HashMap<>();
map.put(1,"張學(xué)友");
map.put(2,"黎明");
map.put(3,"劉德華");
map.put(4,"郭富城");
System.out.println("打印map :"+map);
Set<Object> set = map.keySet();
map.remove(3);
System.out.println("打印刪除key=3后的map :"+map);
map.put(3,"溜溜溜");
System.out.println("打印添加key=3后的map :"+map);
//遍歷 值
for (Object o : set) {
System.out.println("鍵 :"+o);
System.out.println("值 :"+map.get(o));
}
Set<Map.Entry<Object, Object>> entries = map.entrySet();
System.out.println(entries);
for (Map.Entry<Object, Object> entry : entries) {
System.out.println("鍵值對 : "+entry);
}
}
}

1591612069(1).jpg