Kotlin에서 배열은 컬렉션의 한 유형으로, 여러 요소를 하나의 변수에 저장하는 데 사용됩니다. 배열은 고정된 크기를 가지며, 각 요소는 인덱스를 통해 접근할 수 있습니다. Kotlin은 여러 종류의 배열을 제공하며, 각각은 특정 데이터 타입을 저장하는 데 최적화되어 있습니다.
1. 일반 배열 (Array<T>
)
일반 배열은 모든 타입의 객체를 저장할 수 있습니다. arrayOf
함수를 사용하여 배열을 초기화할 수 있으며, 제네릭을 사용하여 어떤 타입의 요소도 저장할 수 있습니다.
예제: 문자열 배열
val names = arrayOf("Alice", "Bob", "Charlie")
println(names[1]) // 출력: Bob
2. 원시 타입 배열
Kotlin은 성능 최적화를 위해 원시 타입(int, float, double 등)의 배열을 직접 지원합니다. 이러한 배열은 각각의 원시 타입에 대해 특별한 클래스를 가지며, IntArray
, FloatArray
, DoubleArray
등이 있습니다. 이 배열들은 박싱(boxing) 오버헤드가 없어 성능이 더 좋습니다.
예제: IntArray
val numbers = intArrayOf(1, 2, 3, 4, 5)
println(numbers[2]) // 출력: 3
3. 초기화 함수를 사용한 배열 생성
Array
클래스의 생성자는 배열의 크기와 초기화 함수를 받아 배열을 생성합니다. 초기화 함수는 배열의 각 위치에 저장될 값을 정의합니다.
예제: 각 요소가 그 인덱스의 제곱인 배열
val squares = Array(5) { i -> i * i }
println(squares.joinToString()) // 출력: 0, 1, 4, 9, 16
4. 다차원 배열
Kotlin은 직접적으로 다차원 배열을 지원하지 않지만, 배열의 배열로 다차원 배열을 구현할 수 있습니다.
예제: 2차원 배열
val matrix = arrayOf(
arrayOf(1, 2, 3),
arrayOf(4, 5, 6),
arrayOf(7, 8, 9)
)
println(matrix[1][2]) // 출력: 6
5. 수정 가능한 리스트를 배열로 변환
리스트와 같은 다른 컬렉션에서 toTypedArray()
함수를 사용하여 배열로 변환할 수 있습니다.
예제: 리스트를 배열로 변환
val colorList = listOf("red", "green", "blue")
val colorArray = colorList.toTypedArray()
println(colorArray.joinToString()) // 출력: red, green, blue
요약
Kotlin의 배열은 다양한 형태와 기능을 제공하여, 다양한 상황에서 효율적으로 데이터를 관리하고 접근할 수 있게 해줍니다. 원시 타입 배열은 성능을 최적화하고, 일반 배열은 다양한 타입을 다룰 때 유용합니다. 배열 초기화 함수는 복잡한 초기화 로직을 쉽게 처리할 수 있게 도와줍니다.
'Jetpack Compose-Kotlin' 카테고리의 다른 글
07. Kotlin-viewModel (0) | 2024.05.11 |
---|---|
06. Kotlin-MutableState (0) | 2024.05.11 |
05. Kotlin-Remember (0) | 2024.05.11 |
04. Kotlin-컬랙션 (0) | 2024.05.11 |
03. Kotlin-조건문, 반복문 (0) | 2024.05.11 |