
map创建
to看上去像关键字,但是事实上,它是个省略了点号和参数的特殊函数,to函数将它左边和右边的值转化成一对pair。
fun main() {
val map = mapOf("jack" to 2, "jason" to 18)
mapOf(Pair("jack",2),Pair("jack",2))
}
读取map的值
➢[ ]取值运算符,读取键对应的值,如果键不存在就返回null
➢getValue,读取键对应的值,如果键不存在就抛出异常
➢getOrElse。读取键对应的值,或者使用匿名函数返回默认值
➢getOrDefault,读取键对应的值,或者返回默认值
fun main() {
val map = mapOf("jack" to 2, "jason" to 18)
print(map["jack"])
print(map.getValue("jack"))
print(map.getOrElse("jasck"){"Unknown"})
print(map.getOrDefault("Rose",0))
//输出结果
22
Unknown
0
}
遍历map
@RequiresApi(Build.VERSION_CODES.N)
fun main() {
val map = mapOf("jack" to 2, "jason" to 18)
//第一种
map.forEach {
print("${it.key}, ${it.value}")
}
//第二种
map.forEach { key: String, value: Int ->
print("$key, $value")
}
}
可变集合
➢通过mutableMapOf创建可变的Map
➢getOrPut键值不存在,就添加并返回结果,否则就返回已有键对应的值
fun main() {
//创建可变Map
val mutableMap = mutableMapOf("jack" to 2, "jason" to 18)
//添加
mutableMap += "Angle" to 19
mutableMap.put("Angle",31)
//如果没有就会添加
mutableMap.getOrPut("Rose"){18}
//输出结果{jack=2, jason=18, Angle=31, Rose=18}
print(mutableMap)
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)