답변:
@Audi에서 제공하는 솔루션 외에도 다음이 있습니다 forEachIndexed
.
collection.forEachIndexed { index, element ->
// ...
}
break
내부 에서 사용할 방법이 있습니까?
return@forEachIndexed
A는 본질적 역할을 할 continue
다음 요소로 건너 뜁니다. 중단 해야하는 경우 함수로 감싸고 return
루프에서 사용 하여 해당 함수를 반환해야합니다.
사용하다 indices
for (i in array.indices) {
print(array[i])
}
인덱스뿐만 아니라 가치를 원한다면 withIndex()
for ((index, value) in array.withIndex()) {
println("the element at $index is $value")
}
참조 : kotlin의 제어 흐름
이 시도; for 루프
for ((i, item) in arrayList.withIndex()) { }
또는 withIndex
라이브러리 기능을 사용할 수 있습니다 .
for ((index, value) in array.withIndex()) {
println("the element at $index is $value")
}
제어 흐름 : if, when, for : while : https://kotlinlang.org/docs/reference/control-flow.html
당신이 정말로 찾고있는 것은 filterIndexed
예를 들면 다음과 같습니다.
listOf("a", "b", "c", "d")
.filterIndexed { index, _ -> index % 2 != 0 }
.forEach { println(it) }
결과:
b
d
.forEach(::println)
범위 는 다음과 같은 상황에서 읽을 수있는 코드로 이어집니다.
(0 until collection.size step 2)
.map(collection::get)
.forEach(::println)
(0..collection.lastIndex step 2)