본문 바로가기
Jetpack Compose-Kotlin

02. Kotlin-배열

by 일상지식적립중 2024. 5. 11.

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