package com.example.firstkotlin.koltin
import android.os.Build
import androidx.annotation.RequiresApi
fun main(){
list()
multableList()
mutator()
everyItem()
listTips()
}
list的创建和元素的获取
- 可通过listOf 初始化一个list
- 通过[]或者get() 方法获取list中的值
- 可通过getOrNull 获取一个元素值,如果对应索引处没有值,会返回null
- 可通过getOrElse 获取一个元素值,如果对应出没有值,会返回匿名函数中返回的值
- getOrNull以及getOrElse函数都是list中的安全索引取值函数
fun list(){
val list = listOf("a","b","c")
println(list.get(0))
println(list.get(1))
println(list.getOrNull(3))
println(list.getOrNull(3) ?: "在对应索引没有取到值,这是默认值")
println(list.getOrElse(3){"这是默认值"})
}
可变list
- 通过listOf创建的list是不可修改的list,只能读取里面的值,但是不可写入以及修改。即只可读不可写。
- 如果要创建可编辑的list,需要使用multableLsitOf方法。
- 可变列表和不可变列表之间可以互相转换
fun multableList(){
val multableList = mutableListOf<String>("1","2","3")
multableList.add("4")
multableList[3] = "5"
multableList.remove("1")
multableList.toList()
multableList.toList().toMutableList()
}
能修改可变列表的函数有一个统一的名字:mutator函数
@RequiresApi(Build.VERSION_CODES.N)
fun mutator(){
val mutableList = mutableListOf<String>("Tom","Nacy","Ant","Jack")
mutableList += "Lii"
println(mutableList)
mutableList -= "Ant"
println(mutableList)
mutableList.removeIf { it.contains("Nacy") }
println(mutableList)
}
list中元素的遍历
fun everyItem(){
val list = listOf("1","2","3","3")
for(item in list){
println(item)
}
list.forEach {
println(it)
}
list.forEachIndexed { index, s ->
println("第${index}个元素是${s}")
}
}
list中的解构语法
fun listTips(){
val list = listOf<String>("a","b","c")
val (a:kotlin.String,b:kotlin.String,c:kotlin.String) = list
println("a : ${a} , b : ${b} ,c : ${c}")
val (a1:kotlin.String,_:kotlin.String,c1:kotlin.String) = list
println("a1 : ${a1} , c1 : ${c1}")
}