Kotlin에서 index, indexOf, lastIndexOf함수는 collection이나 문자열에서 특정 값이나 조건에 맞는 요소의 index를 찾는데 사용됩니다.
index 함수는 sequence에서 특정 조건을 만족하는 첫 번째 요소의 index를 반환합니다. 조건을 람다 표현식으로 전달하여 평가하며, 조건에 맞는 요소가 없으면 null을 발생시킵니다. index 함수는 list, array에서 사용할 수 없습니다.
val numbers = sequenceOf(10, 20, 30, 40)
val index = numbers.index { it > 25 }
println(index) // 3의 index값인 2 출력
indexOf 함수는 list, string, array 등에서 특정 값이나 서브스트링의 첫 번째 index를 반환합니다. 만약 값이 존재하지 않는다면 -1을 반환합니다.
val fruits = listOf("apple", "banana", "cherry")
val text = "Hello, World!"
val index = fruits.indexOf("banana")
println(index) // banana의 index값인 1 출력
val indexInString = text.indexOf("World")
println(indexInString) // World의 첫 번째 등장 위치인 7 출력
lastIndexOf 함수는 list, string, array 등에서 특정 값의 마지막으로 등장하는 index를 반환합니다. 값이 존재하지 않으면 -1은 반환합니다. 값이 여러 번 등장할 경우에, 가장 마지막에 등장한 위치를 찾는데 유용합니다.
val numbers = listOf(1, 2, 3, 2, 1)
val lastIndex = numbers.lastIndexOf(2)
println(lastIndex) // 가장 마지막에 등장한 2의 index값인 3 출력