kotlin: list的常用方法
一,代码:
fun listDemo() {
//定义一个整数list
val list = listOf(1, 2, 3, 4, 5, 6, 7)
//集合类中持有函数类型的变量
val funlist: List<(Int) -> Boolean> = listOf({ it -> it % 2 == 0 }, { it -> it % 2 ==1})
val list1 = list.filter(funlist[0]) //传入第一个函数funlist[0],返回[2,4,6]
println("list1:"+list1)
val list2 = list.filter(funlist[1]) //传入第二个函数funlist[1],返回[1,3,5,7]
println("list2:"+list2)
//foreach 遍历
list.forEach{
println("forEach:"+it)
}
//forEachIndexed
list.forEachIndexed { index, value ->
println("list index = ${index}, value = ${value} ")
}
//map方法
val listMap1 = list.map{ it * it}
println("listMap1:"+listMap1)
//过滤
val studentList = listOf(
Student(1, "Java", 20, 100),
Student(2, "Kotlin", 10, 80),
Student(3, "Python", 19, 95)
)
println(studentList.filter{ it.age >= 19})
println(studentList.filterIndexed{index, it ->
println("index:"+index)
it.age > 19}
)
//排序
val listReversed = list.reversed()
println("listReversed:"+listReversed)
println("list sorted:"+listReversed.sorted())
//去重
val dupList = listOf(1, 1, 2, 2, 3, 3, 3)
val listDup = dupList.distinct()
println("listDup:"+listDup) //返回 [1, 2, 3]
}
data class Student(var id:Long, var name: String, var age: Int, var score: Int){}
二,运行结果: