<indexOf>
컬렉션, 배열에서 특정 요소의 인덱스를 찾는 함수이다. 해당 요소가 컬렉션에 존재하지 않으면 -1을 반환한다.
fun main() {
val fruits = listOf("apple", "banana", "orange", "grape")
val indexOfBanana = fruits.indexOf("banana")
println("Index of 'banana': $indexOfBanana")
}
indexOf 함수는 리스트나 배열이 큰 경우 성능에 영향을 줄 수 있다. 리스트가 정렬되어 있다면 binarySearch 함수를 사용하는 것이 빠를 수 있다.
val sortedFruits = listOf("apple", "banana", "grape", "orange")
val indexOfBanana = sortedFruits.binarySearch("banana")
<filter>
원본 컬렉션을 변경하지 않고 조건을 만족하는 요소들로 이루어진 새로운 컬렉션을 반환한다. filter 람다 함수에서 it은 각 요소를 나타내는 변수이고, 조건을 만족하는 경우에만 해당 요소가 새로운 컬렉션에 포함된다.
fun main() {
val numbers = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
val evenNumbers = numbers.filter { it % 2 == 0 }
println("Original List: $numbers")
println("Filtered List: $evenNumbers")
}
<indices>
컬렉션의 인덱스 범위를 나타내는 property이다. 주로 for 루프에서 컬렉션의 인덱스에 접근할 때 사용된다.
fun main() {
val fruits = listOf("apple", "banana", "orange", "grape")
for (index in fruits.indices) {
println("Index: $index, Element: ${fruits[index]}")
}
}
fruits.indices는 fruits 리스트의 인덱스 범위를 나타내며 for 루프에서 이를 사용하여 리스트의 각 인덱스에 접근한다. index는 각 인덱스를, fruits[index]는 해당 인덱스의 요소를 나타낸다. indices 속성은 컬렉션의 크기에 따라 인덱스 범위가 동적으로 조정된다. 따라서 컬렉션의 인덱스에 대하여 명시적인 범위를 지정할 필요 없이 간편하게 접근할 수 있다.
728x90
'앱 개발 > Kotlin_Android' 카테고리의 다른 글
Bundle (0) | 2024.02.19 |
---|---|
중첩 리스트, flatten (0) | 2024.02.13 |
as (0) | 2024.02.06 |
contains, startsWith (0) | 2024.02.01 |
Elvis operator (0) | 2024.01.26 |