Kotlin - 배열 선언, 초기화 방법

배열을 선언하고 초기화하는 방법을 소개합니다.

1. 빈(Empty) 배열 선언

아래와 같은 방법으로 특정 타입의 빈 배열을 선언할 수 있습니다.

  • emptyArray<Int>()
  • arrayOf<Int>()

val arr: Array<Int> = emptyArray<>()처럼 변수에 타입을 입력하면 뒤쪽의 타입은 생략할 수 있습니다.

fun main() {

    val arr = emptyArray<Int>()
    println("arr: ${arr.contentToString()}")

    val arr2 = arrayOf<Int>()
    println("arr: ${arr2.contentToString()}")
}

Output:

arr: []
arr: []

2. 배열 선언 시, 초기 값 설정

arrayOf<Type>(values)로 배열에 초기 값을 설정할 수 있습니다. (values)로 타입을 알 수 있기 때문에 <Type>은 생략해도 됩니다.

fun main() {

    val arr = arrayOf<Int>(1, 2, 3, 4)
    println("arr: ${arr.contentToString()}")

    val arr2 = arrayOf("a", "b", "c")
    println("arr: ${arr2.contentToString()}")
}

Output:

arr: [1, 2, 3, 4]
arr: [a, b, c]

3. 동일한 값으로 배열 초기화

Array(size) { value }는 배열을 size 크기 만큼 생성하며, 요소들을 모두 10으로 설정합니다.

fun main() {

    val arr = Array(5) { 10 }
    println("arr: ${arr.contentToString()}")
}

Output:

arr: [10, 10, 10, 10, 10]

4. 연속된 숫자로 배열 초기화

Array(size) { lambda }는 size 크기의 배열을 생성하며, 요소는 lambda의 리턴 값으로 설정됩니다.

lambda에 전달되는 it는 요소의 index 값이 되며, 아래와 같이 연속된 숫자로 배열을 초기화할 수 있습니다.

fun main() {

    val arr2 = Array(5) { it -> it }
    println("arr: ${arr2.contentToString()}")

    val from = 10;
    val arr3 = Array(5) { it -> it + from }
    println("arr: ${arr3.contentToString()}")
}

Output:

arr: [0, 1, 2, 3, 4]
arr: [10, 11, 12, 13, 14]

5. Null로 배열 초기화

arrayOfNulls<Type>(size)로 null로 가득찬 배열을 생성할 수 있습니다.

fun main() {

    val arr = arrayOfNulls<Int>(5)
    println("arr: ${arr.contentToString()}")
}

Output:

arr: [null, null, null, null, null]

6. 기본 자료형 배열 선언

kotlin에는 IntArray, BooleanArray, DoubleArray, LongArray 등, 기본 자료형 배열을 제공합니다.

이런 배열을 생성할 때는 intArrayOf(), booleanArrayOf() 등을 사용하여 생성할 수 있습니다.

fun main() {

    val arr: IntArray = intArrayOf(1, 2, 3)
    println("arr: ${arr.contentToString()}")

    val arr2: BooleanArray = booleanArrayOf(false, true, false)
    println("arr: ${arr2.contentToString()}")

    val arr3: DoubleArray = doubleArrayOf(1.0, 2.0, 3.0)
    println("arr: ${arr3.contentToString()}")
}

Output:

arr: [1, 2, 3]
arr: [false, true, false]
arr: [1.0, 2.0, 3.0]
Loading script...
codechachaCopyright ©2019 codechacha