看过来 ! ! ! 你怎么又走神了 ? ? ?
Map 是一种 键 - 值对 (集合) , Map 集合中 的 每一个 元素都 包含一个键对象和值对象 . 但是 注意咯 , 重点来咯 : 键对象是不可以重复的哦 , 而 值对象 是可以重复的 , 并且值对象 可以是 Map 类型的 , 就好比 二维数组中 的元素( 一维数组 )
Map 接口主要是 这两个实现类 ( 记住这两个就够啦 , 真好呀 ) : Hash Map 和 Tree Map , 其中 Hash Map 类是 根据 哈希算法来存取键值对象 , 但是 呢 Tree Map 类 可以对 键对象进行排序 .
Map 常用的方法 ( 新手记住下面这几个就差不多了, 记那么多干嘛呢 )
方法名称 | 说明 |
---|---|
V get(Object key) | 返回 Map 集合中指定键对象所对应的值。V 表示值的数据类型 |
V put(K key, V value) | 向 Map 集合中添加键-值对,返回 key 以前对应的 value,如果没有, 则返回 null |
V remove(Object key) | 从 Map 集合中删除 key 对应的键-值对,返回 key 对应的 value,如果没有,则返回null |
Set entrySet() | 返回 Map 集合中所有键-值对的 Set 集合,此 Set 集合中元素的数据类型为 Map.Entry |
Set keySet() | 返回 Map 集合中所有键对象的 Set 集合 |
例子 说话
public class MapDemo1 {
public static void main(String[] args) {
HashMap<Object, Object> map = new HashMap<>();
map.put(1,"张学友");
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);
}
}
}