Kotlin 中List常见的lambda语法糖
2023-07-02 本文已影响0人
coke613
在kotlin中,List 类型提供了许多lambda语法糖,这使对列表进行各种操作都很方便和简洁,以下是一些常用的lambda语法糖实例.
- forEach: 用于遍历列表中的每一个元素,并对每个元素执行特定操作.
val list = listOf(1, 2, 3, 4, 5)
// 使用 lambda 表达式打印每个元素
list.forEach { println(it) }
// 使用函数引用方式打印每个元素
list.forEach(::println)
- map: 函数映射,对列表中的每一元素进行置换,并返回一个新的列表
val list = listOf(1, 2, 3, 4, 5)
// 将每个元素乘以 2
val doubledList = list.map { it * 2 }
println(doubledList) // 输出:[2, 4, 6, 8, 10]
val list2 = listOf<String>("a", "b", "c", "d")
// 将每一个元素大写
val upperCaseList = list2.map {it.toUpperCase()}
println(upperCaseList) // 输出:[A,B,C,D]
- filter: 根据给定的条件过滤列表的元素,返回符合条件的新列表.
val list = listOf(1, 2, 3, 4, 5)
// 过滤出大于 3 的元素
val filteredList = list.filter { it > 3 }
println(filteredList) // 输出:[4, 5]
4.reduce: 对列表中的元素进行累积运算.
val list = listOf(1, 2, 3, 4, 5)
// 对所有元素进行累积相加
val sum = list.reduce { acc, num -> acc + num }
println(sum) // 输出:15
val list = listOf<Int>(2,10,23,15)
// 对所有元素进行累积相减
val less = list.reduce { acc, i -> acc- i }
println(less) // 输出: -46
5.any:用于判断集合中的元素是否至少有一项满足制定条件 ||
val list = listOf(1, 2, 3, 4, 5)
// 检查是否有任何元素大于 3
val anyGreaterThanThree = list.any { it > 3 }
println(anyGreaterThanThree) // 输出:true
6:all: 用于判断集合中是否所有元素都满足制定条件 &&
val list = listOf(1, 2, 3, 4, 5)
// 检查是否所有元素都大于 3
println(list.all { it > 3 }) // 输出:fasle