0
点赞
收藏
分享

微信扫一扫

【Kotlin】集合操作 ③ ( List 集合遍历 | for in | forEach | forEachIndexed | List 通过解构一次性给多个元素赋值 )


文章目录

  • ​​一、List 集合遍历​​
  • ​​二、List 通过解构一次性给多个元素赋值​​






一、List 集合遍历


List 集合遍历 :

  • for in 循环遍历 :

// 使用 for in 循环遍历
for (name in list) {
println("for : $name")
}

  • forEach 遍历 :

/**
* 在每个元素上执行给定的[action]。
*/
@kotlin.internal.HidesMembers
public inline fun <T> Iterable<T>.forEach(action: (T) -> Unit): Unit {
for (element in this) action(element)
}

  • forEachIndexed 遍历并同时获取索引值 :

/**
* 在每个元素上执行给定的[action],提供元素的顺序索引。
* @param [action]函数,它接受元素的索引和元素本身
* 并对元素执行所需的操作。
*/
public inline fun <T> Iterable<T>.forEachIndexed(action: (index: Int, T) -> Unit): Unit {
var index = 0
for (item in this) action(checkIndexOverflow(index++), item)
}



代码示例 :

fun main() {
// 创建可变列表集合
val list = listOf("Tom", "Jerry", "Jack")

// 使用 for in 循环遍历
for (name in list) {
println("for : $name")
}

// 使用 forEach 遍历
list.forEach {
println("forEach : $it")
}

// 遍历时获取索引位置
list.forEachIndexed { index, s ->
println("$index : $s")
}
}

执行结果 :

for : Tom
for : Jerry
for : Jack
forEach : Tom
forEach : Jerry
forEach : Jack
0 : Tom
1 : Jerry
2 : Jack






二、List 通过解构一次性给多个元素赋值


List 通过解构一次性给多个元素赋值 :

fun main() {
// 创建可变列表集合
val list = listOf("Tom", "Jerry", "Jack")

// 使用 list 集合一次性给 3 个元素赋值
val (name1, name2, name3) = list

println("name1 = $name1")
println("name2 = $name2")
println("name3 = $name3")
}

执行结果 :

name1 = Tom
name2 = Jerry
name3 = Jack



如果集合中有 3 个元素 , 但是只需要给 2 个元素赋值 , 这里可使用 _ 跳过某个元素的赋值 ;

代码示例 :

fun main() {
// 创建可变列表集合
val list = listOf("Tom", "Jerry", "Jack")

// 使用 list 集合一次性给 2 个元素赋值, 第 1 个元素跳过
val (name1, _, name3) = list

println("name1 = $name1")
println("name3 = $name3")
}

执行结果 :

name1 = Tom
name3 = Jack


举报

相关推荐

0 条评论