1.Map集合的创建
package Kotlin.Stage4
fun main() {
val map= mapOf("java" to 1,"kotlin" to 2) //java代表键 1代表值
val map2= mapOf(Pair("java",1),Pair("kotlin",2))//和上面写法等价
}
2.读取map的值
[]
如果没有键不存在则返回nullfun main() {
val map= mapOf("java" to 1,"kotlin" to 2)
//方式1 使用[] 如果不存在则返回null
println("方式1:java的值:"+map["java"]+"如果不存在返回null:"+map["c++"])
}
getOrDefault
如果不存在返回默认值fun main() {
val map= mapOf("java" to 1,"kotlin" to 2)
//方式1 使用[] 如果不存在则返回null
println("方式1:java的值:"+map["java"]+"如果不存在返回null:"+map["c++"])
println()
//方式2 使用getOrDefault 如果不存在返回默认值
println(map.getOrDefault("java",-1))
println(map.getOrDefault("c++",-1))
}
getOrElse
如果不存在返回指定值fun main() {
val map= mapOf("java" to 1,"kotlin" to 2)
//方式1 使用[] 如果不存在则返回null
println("方式1:java的值:"+map["java"]+"如果不存在返回null:"+map["c++"])
println()
//方式2 使用getOrDefault 如果不存在返回默认值
println(map.getOrDefault("java",-1))
println(map.getOrDefault("c++",-1))
println()
//方式3:使用getOrElse 如果不存在返回指定值
println(map.getOrElse("java"){-1})
println(map.getOrElse("c++"){-1})
}
get
如果不存在则返回null;使用getValue
,如果不存在则会崩溃,不建议使用。fun main() {
val map= mapOf("java" to 1,"kotlin" to 2)
//方式1 使用[] 如果不存在则返回null
println("方式1:java的值:"+map["java"]+"如果不存在返回null:"+map["c++"])
println()
//方式2 使用getOrDefault 如果不存在返回默认值
println(map.getOrDefault("java",-1))
println(map.getOrDefault("c++",-1))
println()
//方式3:使用getOrElse 如果不存在返回指定值
println(map.getOrElse("java"){-1})
println(map.getOrElse("c++"){-1})
println()
//方式4:和java一样
println(map.get("java"))//等价于[]方式
println(map.get("c++"))
println(map.getValue("java"))
println(map.getValue("c++")) //会崩溃。不建议使用
}
fun main() {
val map= mapOf("java" to 1,"kotlin" to 2)
//方式1;foreach it
map.forEach(){
//it代表每一个(k,v)
print(" key${it.key},value${it.value}")
}
}
fun main() {
val map= mapOf("java" to 1,"kotlin" to 2)
//方式1;foreach it
map.forEach(){
//it代表每一个(k,v)
println(" key${it.key},value${it.value}")
}
println()
//方式2:不使用默认it
map.forEach(){key:String,value:Int->
//覆盖默认的it
println(" key$key,value$value")
}
}
fun main() {
val map= mapOf("java" to 1,"kotlin" to 2)
//方式1;foreach it
map.forEach(){
//it代表每一个(k,v)
println(" key${it.key},value${it.value}")
}
println()
//方式2:不使用默认it
map.forEach(){key:String,value:Int->
//覆盖默认的it
println(" key$key,value$value")
}
println()
//方式3
map.forEach(){(k,v)->
println(" key$k,value$v")
}
}
package Kotlin.Stage4
fun main() {
val map= mapOf("java" to 1,"kotlin" to 2)
//方式1;foreach it
map.forEach(){
//it代表每一个(k,v)
println(" key${it.key},value${it.value}")
}
println()
//方式2:不使用默认it
map.forEach(){key:String,value:Int->
//覆盖默认的it
println(" key$key,value$value")
}
println()
//方式3
map.forEach(){(k,v)->
println(" key$k,value$v")
}
println()
//方式4
for (item in map){
//item代表每一个(k,v)
println(" key${item.key},value${item.value}")
}
}
fun main() {
val map= mutableMapOf("AAA" to 1,"BBB" to 2)
//可变集合操作
map+="CCC" to (3)
map+="DDD" to 4
map-="DDD"
map["EEE"]=5
map.put("FFF",6)
println(map["EEE"])//put和[]等价
}
getOrPut
fun main() {
val map= mutableMapOf("AAA" to 1,"BBB" to 2)
//可变集合操作
map+="CCC" to (3)
map+="DDD" to 4
map-="DDD"
map["EEE"]=5
map.put("FFF",6)
println(map["EEE"])//put和[]等价
println()
// getOrPut
//键没有的情况,会将他先添加进集合中。
map.getOrPut("GGG"){8}
println(map["GGG"])
//键有的情况,会读取存在的值,并且默认值失效
map.getOrPut("AAA"){9}
println(map["AAA"])
}