目录
getOrDefault(Object key, V defaultValue)
Map是一个接口。里面存储的是键值对,一个Map中不能包含重复的key,每个key最多只能对应一个value。
size()
作用:返回键值对的个数。
isEmpty()
作用:判断Map是否为空,如果不包含任何键值对,返回true。
containsKey(Object key)
作用:判断Map中是否包含指定的key。
containsValue(Object value)
作用:判断Map中是否包含指定的value。
get(Object key)
作用:通过指定的key获取value。
put(K key, V value)
作用:将键值对放入Map中。
remove(Object key)
作用:删除Map中指定key对应的键值对。
putAll(Map<? extends K, ? extends V> m)
作用:将指定map中所有键值对复制到该map中。
clear()
作用:清空Map中所有键值对。
keySet()
作用:返回Map中所有的key,结果封装在Set中。
values()
作用:返回Map中所有的value,结果是Collection类型。
entrySet()
作用:返回Map中所有的键值对,结果封装在Set中,Set中每一个元素类型是Entry。
其中,Entry是Map的一个内部接口,包含以下方法:
//获取键值对中的key
K getKey();
//获取键值对中的value
V getValue();
//设置键值对中的value
V setValue(V value);
//判断键值对是否等于o
boolean equals(Object o);
//键值对的hashCode
int hashCode();
//实现基于key的比较器,实际的比较方法需要key的类型K来实现compareTo方法
public static <K extends Comparable<? super K>, V> Comparator<Map.Entry<K,V>> comparingByKey() {
return (Comparator<Map.Entry<K, V>> & Serializable)
(c1, c2) -> c1.getKey().compareTo(c2.getKey());
}
实现基于value的比较器,实际的比较方法需要value的类型V来实现compareTo方法
public static <K, V extends Comparable<? super V>> Comparator<Map.Entry<K,V>> comparingByValue() {
return (Comparator<Map.Entry<K, V>> & Serializable)
(c1, c2) -> c1.getValue().compareTo(c2.getValue());
}
//实现基于key的比较器,实际的比较方法需要根据指定的比较器cmp的实现
public static <K, V> Comparator<Map.Entry<K, V>> comparingByKey(Comparator<? super K> cmp) {
Objects.requireNonNull(cmp);
return (Comparator<Map.Entry<K, V>> & Serializable)
(c1, c2) -> cmp.compare(c1.getKey(), c2.getKey());
}
//实现基于value的比较器,实际的比较方法需要根据指定的比较器cmp的实现
public static <K, V> Comparator<Map.Entry<K, V>> comparingByValue(Comparator<? super V> cmp) {
Objects.requireNonNull(cmp);
return (Comparator<Map.Entry<K, V>> & Serializable)
(c1, c2) -> cmp.compare(c1.getValue(), c2.getValue());
}
equals(Object o)
作用:比较Map和指定的对象o是否相等。
hashCode()
作用:返回Map的hash code。
getOrDefault(Object key, V defaultValue)
作用:获取Map中指定的key对应的value。如果不存在,则返回默认值defaultValue。
forEach(BiConsumer<? super K, ? super V> action)
作用:遍历Map,将其中每个键值对作为参数传入到action的accept方法中去执行。