Kotlin遍历操作函数:forEach VS forEachIndexed
Kotlin遍历操作函数
对数据的主要遍历操作。常规的都是使用for循环。在kotlin的函数式编程中一般都是使用forEach和forEachIndexed。
ForEach
forEach函数适用于Collection和Map集合,以及数组,函数只有一个函数类型的参数,实参往往使用尾随形式的Lambda表达式。在执行时forEach会把集合或数组中的每一个元素传递给Lambda表达式(或其他的函数引用)以便去执行。
fun main(args: Array<String>) {
val strArray = arrayOf("张三", "李四", "王五")
strArray.forEach {
println(it)
}
}
forEachIndexed
使用forEach函数无法返回元素的索引,如果既想返回集合元素,又想返回集合元素索引,则可以使用forEachIndexed函数,forEachIndexed适用于Collection集合和数组
fun main(args: Array<String>) {
val strArray = arrayOf("张三", "李四", "王五")
strArray.forEachIndexed { index, value ->
println("$index - $value")
}
}
forEach VS forEachIndexed
两者都是用来作遍历的函数。
从使用范围来看,forEach的范围包含了map集合。forEachIndexed因索引的关系,不包含map集合。
其他的使用情况,基本上差不多。
还没有评论,来说两句吧...