记一个关于Map的知识

kotlin中有Map和MutableMap两种

Map是一个接口和通用的元素集合。 Map以键和值对的形式保存数据。 映射的键是唯一的,每个键只保留一个值。 键和值可以是不同类型。 也被分为可变的和不可变的,即Map与MutableMap.

Map

它是不可变的,它的大小固定,方法支持只读访问。要使用Map接口,需要使用mapOf()或mapOf <k,v>()函数声明。
他的常用方法:
getValue(key) 它返回给定键的值,如果映射中没有这样的键,则抛出异常。
getOrDefault(key,defaultValue) 获取指定key值的value,没有值时返回默认值
contains(key)、containsKey(key) 它检查在Map中是否包含给定的键。
minus(key) 返回去除该 key-value的map
plus(pair) 向map中添加key - value
但这些方法不能对原Map产生改变。
需要改变的话需要使用

1
map = map.plus(a to b)

型如上的方法。

MutableMap

MutableMap是集合框架的接口,它以键和值对的形式保存对象。 通过使用相应的键来检索MutableMap接口的值。 键和值可以是不同类型的对,它是可变的。

常用方法

MutableMap常用函数
函数 描述
put(key,value)、MutableMap[key]=value 放入key-value对。如果原来已有key,value将被覆盖
putAll(Map) 向原map中添加整个map
remove(key) 删除指定key以及对应value
remove(key, value) 存在键和值实体时,才会删除它们
clear() 删除所有元素
contains(key)、containsKey(key) 检查是否包含给定键,如果map包含指定的键,则返回true
containsValue(value) 如果包含给定值的一个或多个键,则返回true
count() 它返回key-value对的总数
get(key) 返回与键对应的值,如果找不到指定键,则返回null
getOrDefault(key, defaultValue) 返回带有相应指定键的值,如果没有key对应的value,则返回默认值
getValue(key) 返回与给定键对应的值,如果找不到键,则抛出异常