Map接口概览
Map接口
Map继承关系:
Map接口声明方法:
size() | 返回映射中的键值映射数量 |
isEmpty() | 判断映射是否为空 |
containsKey(Object key) | 若映射包含键k,使得Objects.equals(key,k),则返回true |
containsValue(Object value) | 若映射包含值v,使得Objects.equals(value,v),则返回true |
get(Object key) | 返回键为key映射的值,无则返回null |
put(K key,V value) | 将指定值与此映射中的指定键相关联,若键已存在,则替换值 |
remove(Object key) | 若映射包含键k,使得Objects.equals(key,k),则删除此映射 |
putAll(Map<? extends K, ? extends V> m) | 将所有映射从指定映射复制到此映射,等同于循环调用put方法 |
clear() | 情况映射 |
keySet() | 获取键key的Set视图 |
values() | 获取值value的集合视图 |
entrySet() | 返回此映射中包含的映射的Set视图 |
equals(Object o) | 若存在map使得map.entrySet().equals(o.entrySet()),则返回true |
hashCode() | 返回映射的哈希码 |
getOrDefault(Object key,V defaultValue) | 返回键为key映射的值,无则返回一个指定的默认值 |
forEach(BiConsumer<? super K,? super V> action) | 对映射中的每个键值对执行指定的操作 |
replaceAll(BiFunction<? super K,? super V,? extends V> function) | 用给的的结果替换每个键值对的值 |
putIfAbsent(K key,V value) | 若指定键尚未与值关联,或映射到null,则关联指定值并返回null 若以关联,则关联新值,返回旧值 |
remove(Object key,Object value) | 仅当键key映射的值v等于value时,删除此条目 |
replace(K key,V oldValue,V newValue) | 仅当键key映射的值v等于oldValue时,替换值为newValue |
replace(K key,V value) | 仅当键key映射的值v等于value时,替换值为newValue |
computeIfAbsent(K key,Function<? super K,? extends V> mappingFunction) | 如果指定键key的值不存在或为null,则使用给定的映射函数计算其值,若结果不为null则将新值输入并返回 |
computeIfPresent(K key,BiFunction<? super K,? super V,? extends V> remappingFunction) | 如果指定键key的值存在且非空,则尝试在给定键及其当前映射值的情况下计算新值,计算结果为null则删除映射 |
compute(K key,BiFunction<? super K,? super V,? extends V> remappingFunction) | 以指定键key和其旧值,根据函数计算新值并替换映射中的就职 |
merge(K key,V value, BiFunction<? super V,? super V,? extends V> remappingFunction) | 若键key的映射值为null,则用value替换,否则用给定的重映射函数的结果替换关联的值 |
of(K k1,V v1) | 返回包含单个映射的不可修改的映射 |
ofEntries(Entry<? extends K,? extends V>... entries) | 返回一个不可修改的映射,其中包含从给定条目中提取的键和值,条目本身未存储在映射中 |
entry(K k,V v) | 返回包含给定键和值的不可修改的Entry,这些Entry适用于Map.ofEntries()方法来填充Map |
copyOf(Map<? extends K,? extends V> map) | 返回包含指定map的不可修改Map,指定的map不能为null且不得包含任何null键或值,若随后修改了map,返回的Map不会反映map修改 |
Map里的Entry接口声明的方法:
getKey() | 返回与此条目对应的键 |
getValue() | 返回与此条目对应的值 |
setValue(V value) | 用指定的值替换此条目的值 |
equals(Object o) | 比较指定对象与此条目的相等性 |
hashCode() | 计算哈希码 |
comparingByKey() | 返回一个以键上的自然顺序比较Map.Entry的比较器 |
comparingByValue() | 返回一个以值上的自然顺序比较Map.Entry的比较器 |
comparingByKey(Comparator<? super K> cmp) | 返回一个使用给定的Comparator通过键比较Map.Entry的比较器 |
comparingByValue(Comparator<? super V> cmp) | 返回一个使用给定的Comparator通过值比较Map.Entry的比较器 |
SortMap接口
SortMap继承关系:
SortMap接口声明方法:
comparator() | 返回映射中对键进行排序的比较器,若此映射的键使用自然排序,则返回null |
subMap(K fromKey, K toKey) | 返回映射的子视图,其键范围为fromKey到toKey,更改子视图会反应在映射中 |
headMap(K toKey) | 返回映射的子视图,其键 范围为 < toKey,更改子视图会反应在映射中 |
tailMap(K fromKey) | 返回映射的子视图,其键 范围为 >= fromKey,更改子视图会反应在映射中 |
firstKey() | 返回此映射中当前的第一个键 |
lastKey() | 返回此映射中当前的最后一个键 |
keySet() | 返回此映射中键的Set视图 |
values() | 返回此映射中值的Collection视图 |
entrySet() | 返回此映射中包含映射的Set视图 |
NavigableMap接口
NavigableMap继承关系:
NavigableMap接口声明方法:
lowerEntry(K key) | 返回<key中的与最大键关联的键值对,没有则返回null |
lowerKey(K key) | 返回<key中的最大键,没有则返回null |
floorEntry(K key) | 返回<=key中的与最大键关联的键值对,没有则返回null |
floorKey(K key) | 返回<=key中的最大键,没有则返回null |
ceilingEntry(K key) | 返回>=key中的与最小键关联的键值对,没有则返回null |
ceilingKey(K key) | 返回>=key中的最小键,没有则返回null |
higherEntry(K key) | 返回>key中的与最小键关联的键值对,没有则返回null |
higherKey(K key) | 返回>key中的最小键,没有则返回null |
firstEntry() | 返回此映射中最小键的键值对,若为空则返回null |
lastEntry() | 返回此映射中最大键的键值对,若为空则返回null |
pollFirstEntry() | 删除并返回此映射中最小键的键值对,若为空则返回null |
pollLastEntry() | 删除并返回此映射中最大键的键值对,若为空则返回null |
descendingMap() | 返回此映射的逆序视图 |
navigableKeySet() | 返回此映射中包含键的升序NavigableSet视图 |
descendingKeySet() | 返回此映射中包含键的逆序NavigableSet视图 |
subMap(K fromKey,boolean fromInclusive,K toKey, boolean toInclusive) | 返回此映射的子视图,范围从fromKey到toKey |
headMap(K toKey,boolean inclusive) | 返回此映射中键<或=(inclusive=true) toKey的子视图 |
tailMap(K fromKey,boolean inclusive) | 返回此映射中键>或=(inclusive=true) fromKey的子视图 |
subMap(K fromKey,K toKey) | 返回从fromKey<=key<toKey的子视图 |
headMap(K toKey) | 返回从<toKey的子视图 |
tailMap(K fromKey) | 返回从>=fromKey的子视图 |