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){}

 

二,运行结果:

image

 

posted @ 2025-08-09 13:40  刘宏缔的架构森林  阅读(8)  评论(0)    收藏  举报