Kotlin 基础提升三
仅供于作为学习笔记,希望也能够给大家带来帮助,如果存在错误也请大家指正。
1. List 相关操作
1. getOrElse 和 getOrNull 方法,是安全索引取值函数
-
getOrElse 需要两个参数,第一个是索引值,第二个是能提供默认值的lambda表达式,如果索引值不存在,可用来代替异常
-
getOrNull 返回null 经过,而不是抛出异常
val listOf = listOf("jason", "jack", "jacky") println(listOf.getOrElse(4){"unknown"}) println(listOf.getOrNull(4)) println(listOf.getOrNull(4) ?: "unknown")
2.可变列表
可变列表之间支持相互转换
val mutableList = mutableListOf("jason", "jack", "jacky")
mutableList.add("jimmy") //添加元素
mutableList.remove("jone") // 删除元素
listOf("jason", "jack", "jacky").toMutableList() //转为可变列表
mutableList.toList() //转为不可变列表
mutator 函数:能修改可变列表的函数有个统一的名字:mutator 函数
3.运算符重载
val mutableList = mutableListOf("jason", "jack", "jacky")
mutableList+= "Jimmy"
mutableList-= "jack"
4.removeIf
根据 lambada 指定条件删除元素
val mutableList = mutableListOf("jason", "jack", "jacky")
mutableList.removeIf{it.contains("jack)}
5.遍历元素
for,forEach,forEachIndexed
val list = listOf("jason","jack","jacky")
// method 1
for (el in list)
{
println(el)
}
// method 2
list.forEach{
print(it)
}
// method 3
list.forEachIndexed { index, s ->
println("$index $s")
//index 索引
//s 元素
}
6. 解构
当不需要从中获取元素时,当中可以使用_替代
val list = listOf("jason","jack","jacky")
val (origin,_,proxy) = list //
2. Map 操作
1.map 的创建
val mapOf = mapOf("Jack" to 20, "Jason" to 18)
val mapOf2 = mapOf(Pair("Jack",20),Pair("Jason",18))
val mutableMap = mutableMapOf("Jack" to 20, "Jason" to 18) //可变Map
2. map的读取
mapOf["Jack"]
mapOf.getValue("Jack")
mapOf.getOrElse("Rose"){"Unknown"}
mapOf.getOrDefault("Rose" , 0)
3. map的遍历
mapOf.forEach{
println("${it.key} ${it.value}")
}
mapOf.forEach{ (key, value) ->
println("$key $value")
}