Java集合框架:Map接口概览

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的子视图

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值