Map用于保存具有key-value映射关系的数据,key不允许重复,每个key只能对应一个value,其中null可以作为key。可用来替代Dictionary类。
Map接口中定义了一些通用的方法,供子类去实现。
查询操作
int size()
返回Map中key-value对的个数。
boolean isEmpty()
判断Map是否为空。
boolean containsKey(Object key);
判断Map中是否包含指定的key。
boolean containsValue(Object value);
判断Map中是否包含指定的值。
V get(Object key);
根据指定的key查找value
修改操作
V put(K key, V value);
将指定的key,value映射保存到Map中,如果已经存在相同key,旧的value将被替换成新的。
V remove(Object key);
根据指定的key删除键值对,返回被删除的值。
批量操作
void putAll(Map<? extends K, ? extends V> m);
将指定的Map中的键值对都复制到当前的Map中去,如果已经存在相同key,旧的value将被替换成新的。
void clear();
清空Map中所有的键值对。
视图
Set<K> keySet();
返回当前Map中所包含的所有key的一个Set集合。
Collection<V> values();
返回当前Map中所包含的所有value的一个Collection集合。
Set<Map.Entry<K, V>> entrySet();
返回当前Map中所包含的所有键值对的一个Set集合。
interface Entry<K,V> {}
内部类,用来表示Map内部的键值映射。
K getKey();
返回键
V getValue();
返回value
V setValue(V value);
设置新值,返回旧的值
boolean equals(Object o);
int hashCode();
比较和哈希
boolean equals(Object o);
int hashCode();