KotLin中stream的用法

Posted by stq on September 27, 2021

#Kotlin中Stream的一些用法


val list  = listOf("aa", "ac", "ab", "dd", "ee")
val list2 = listOf("aa", "aa", "ag", "dd", "dd")
//foreach
list.forEach {
    println("list中的元素:$it")
}

//stream 中迭代对象引用默认为it ,但可以重新指定 例:
list.forEach { a1 ->
    list2.forEach { a2 ->
        if (a1.equals(a2)) {
            print("重复的元素:$a1")
        }
    }
}

//filter
list.filter { it.startsWith("a") }.forEach { println("list中以a开头的元素$it") }

//groupBy 输出结果为{aa=[aa, aa], ag=[ag], dd=[dd, dd]}
println(list2.groupBy { it })


//orderBy 正序
println("正: ${list.sorted()}")


//倒序
println("倒: ${list.sortedDescending()}")