일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Spring Boot
- 자바
- 티스토리챌린지
- 스프링
- java
- JPQL
- 객체지향
- api인증
- Token
- 오블완
- 코틀린
- kotlin
- 스프링 부트
- map
- 토큰기반인증
- sumof
- 웹서버오류
- JWT
- javamailsender
- 서버실행실패
- Stream
- devpi
- JPA
- filternotnull
- 토큰
- foreachindexed
- Spring
- entity
- portconflict
- 8080error
- Today
- Total
DeveloPiano
[Kotlin] indices 속성 완벽 가이드 본문
코틀린(Kotlin)은 컬렉션과 배열을 쉽게 다룰 수 있도록 다양한 유틸리티 속성을 제공합니다. 그중 indices 속성은 리스트(List)나 배열(Array)의 유효한 인덱스 범위를 가져올 때 유용합니다. 이번 포스팅에서는 indices 속성의 개념과 실용적인 사용법을 살펴보겠습니다.
📌 indices 속성이란?
코틀린의 indices 속성은 리스트(List)나 배열(Array)의 유효한 인덱스 범위를 반환하는 기능을 합니다.
🔹 기본 문법
val indices: IntRange
- indices는 IntRange 타입을 반환하며, 이는 컬렉션의 첫 번째 인덱스부터 마지막 인덱스까지의 범위를 나타냅니다.
🛠 indices 사용 예제
1️⃣ 리스트(List)에서 indices 사용하기
fun main() {
val list = listOf("Kotlin", "Java", "Python")
println("리스트 인덱스 범위: ${list.indices}") // 출력: 리스트 인덱스 범위: 0..2
}
2️⃣ 배열(Array)에서 indices 사용하기
fun main() {
val array = arrayOf(10, 20, 30, 40)
println("배열 인덱스 범위: ${array.indices}") // 출력: 배열 인덱스 범위: 0..3
}
3️⃣ indices를 활용한 안전한 반복문
컬렉션을 반복할 때 indices를 사용하면 안전하게 인덱스를 활용할 수 있습니다.
fun main() {
val names = listOf("Alice", "Bob", "Charlie")
for (i in names.indices) {
println("$i: ${names[i]}")
}
}
// 출력:
// 0: Alice
// 1: Bob
// 2: Charlie
4️⃣ withIndex()와의 비교
indices 속성을 사용하면 직접 인덱스 범위를 가져올 수 있으며, withIndex()는 인덱스와 값을 동시에 활용할 수 있습니다.
fun main() {
val numbers = listOf(100, 200, 300)
// indices 사용
for (i in numbers.indices) {
println("$i: ${numbers[i]}")
}
// withIndex 사용
for ((index, value) in numbers.withIndex()) {
println("$index: $value")
}
}
🎯 indices 사용 시 주의할 점
✅ 빈 컬렉션의 `` 값 빈 리스트나 배열의 경우 indices 속성은 0..-1을 반환합니다. 따라서 isEmpty()를 먼저 확인하는 것이 좋습니다.
fun main() {
val emptyList = listOf<String>()
println("빈 리스트 인덱스 범위: ${emptyList.indices}") // 출력: 빈 리스트 인덱스 범위: 0..-1
}
✅ 범위 초과 접근 방지 indices 속성을 활용하면 범위를 초과하는 인덱스 접근을 방지할 수 있습니다.
fun main() {
val data = listOf(1, 2, 3)
val index = 5
if (index in data.indices) {
println("값: ${data[index]}")
} else {
println("유효하지 않은 인덱스")
}
}
// 출력: 유효하지 않은 인덱스
✨ 결론
코틀린의 indices 속성은 리스트나 배열의 유효한 인덱스 범위를 반환하는 유용한 기능입니다. 이를 활용하면 컬렉션을 더욱 안전하고 직관적으로 처리할 수 있습니다.
indices를 잘 활용하면:
- 컬렉션의 유효한 인덱스 범위를 쉽게 가져올 수 있음
- 인덱스를 활용한 반복문을 안전하게 작성 가능
- 범위 초과 오류를 방지 가능
코틀린을 활용한 더욱 안전한 프로그래밍을 위해 indices 속성을 적극적으로 활용해 보세요! 🚀
'Develop > Kotlin' 카테고리의 다른 글
[Kotlin] 코틀린(Kotlin) forEachIndexed 완벽 가이드 (0) | 2025.03.05 |
---|---|
[Kotlin] 코틀린 for 문에서 until과 .. 차이점 완벽 정리 (0) | 2025.03.04 |
[Kotlin] sumOf 함수 (0) | 2025.02.26 |
[Kotlin] check() vs require(): if 문과의 비교 (0) | 2025.01.31 |
[Kotlin] Map과 MutableMap : 읽기 전용과 변경 가능한 Map의 차이점 (0) | 2024.11.14 |