文章目录
- 一、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)
}
代码示例 :
代码语言:javascript复制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")
}
}
执行结果 :
代码语言:javascript复制for : Tom
for : Jerry
for : Jack
forEach : Tom
forEach : Jerry
forEach : Jack
0 : Tom
1 : Jerry
2 : Jack
二、List 通过解构一次性给多个元素赋值
List 通过解构一次性给多个元素赋值 :
代码语言:javascript复制fun main() {
// 创建可变列表集合
val list = listOf("Tom", "Jerry", "Jack")
// 使用 list 集合一次性给 3 个元素赋值
val (name1, name2, name3) = list
println("name1 = $name1")
println("name2 = $name2")
println("name3 = $name3")
}
执行结果 :
代码语言:javascript复制name1 = Tom
name2 = Jerry
name3 = Jack
如果集合中有 3 个元素 , 但是只需要给 2 个元素赋值 , 这里可使用 _
跳过某个元素的赋值 ;
代码示例 :
代码语言:javascript复制fun main() {
// 创建可变列表集合
val list = listOf("Tom", "Jerry", "Jack")
// 使用 list 集合一次性给 2 个元素赋值, 第 1 个元素跳过
val (name1, _, name3) = list
println("name1 = $name1")
println("name3 = $name3")
}
执行结果 :
代码语言:javascript复制name1 = Tom
name3 = Jack