1. Map 接口简介
- Map 接口可以同时保存 key == value 的两个数据,这样就可以实现通过 key 查找相应的 value 的操作。
- 之前讲的 Collection、Set、List 接口都属于单值的操作,即每次只能操作一个对象,而 Map 每次操作的是一对对象,即二元偶对像,Map 中 的每个元素都使用“key —> value” 的形式存储在集合中。Map 接口定义如下:
public interface Map<K,V>
。 - Map 接口中的方法如表:
序号 | 方法或类 | 类型 | 描述 |
---|
1 | public void clear() | 普通 | 清空 Map 集合 |
2 | public boolean containsKey(Object key) | 普通 | 判断指定的 key 是否存在 |
3 | public boolean containsValue(Object value) | 普通 | 判断指定的 value 是否存在 |
4 | public Set<Map.Entry<K,V>> entrySet() | 普通 | 将 Map 对象变为 Set 集合 |
5 | public boolean equals(Object o) | 普通 | 对象比较 |
6 | public V get(Object key) | 普通 | 根据 key 取得 value |
7 | public int hashCode() | 普通 | 返回哈希码 |
8 | public boolean isEmpty() | 普通 | 判断集合是否为空 |
9 | public Set<K> keySet() | 普通 | 取得所有的 key |
10 | public V put( K key, V value) | 普通 | 向集合中加入元素 |
11 | public void putAll(Map<? extends K,? extends V> t) | 普通 | 将一个 Map 集合中的内容加入到另一个 Map |
12 | public V remove(Object key) | 普通 | 根据 key 删除 value |
13 | public int size() | 普通 | 取出集合的长度 |
14 | public Collection<V> values() | 普通 | 取出全部的 value |
2. Map.Entry 接口简介
- Map.Entry 是 Map 中内部定义的一个接口,专门用来保存 “key —> value” 的内容。Map.Entry的定义如下:
public static interface Map.Entry<K,V>
- Map.Entry 接口是使用 static 关键字声明的内部接口,此接口可以由 外部通过“外部类.内部类” 的形式之间调用。Map.Entry 接口中常用的方法如下表:
序号 | 方法或类 | 类型 | 描述 |
---|
1 | public boolean equals(Object o) | 普通 | 对象比较 |
2 | public K getKey() | 普通 | 取得 key |
3 | public V getValue() | 普通 | 取得 value |
4 | public int hashCode() | 普通 | 返回哈希码 |
5 | public V setValue(V value) | 普通 | 设置 value 的值 |
提示: Map.Entry 在集合输出时会用到
在一搬的 Map 操作中(例如增加或取出数据等操作)用户不用关心 Map.Entry 接口,但是在将 Map 中的数据全部输出时就必须使用 Map.Entry 接口。