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

2차원 배열을 선언 및 특정 값으로 초기화하는 방법을 소개합니다.

1. 2차원 배열 선언

arrayOf()로 1차원 배열을 선언할 수 있으며, arrayOf() 안에 arrayOf() 객체를 추가하여 2차원 배열을 선언할 수 있습니다.

fun main() {

    val arr = arrayOf(
        arrayOf(1, 2, 3),
        arrayOf(4, 5, 6),
        arrayOf(7, 8, 9),
    )

    for (row in arr) {
        println(row.contentToString())
    }
}

Output:

[1, 2, 3]
[4, 5, 6]
[7, 8, 9]

1.1 특정 값으로 배열 초기화

Array(size) { value }는 size 크기의 배열로 선언하며 value로 초기화합니다.

아래와 같이 특정 값으로 초기화된 2차원 배열을 선언할 수 있습니다.

fun main() {

    val arr = Array(3) { Array(3){0} }

    for (row in arr) {
        println(row.contentToString())
    }
}

Output:

[0, 0, 0]
[0, 0, 0]
[0, 0, 0]

2. Lambda로 초기값 설정

Array()는 인자로 Lambda를 전달할 수 있으며, Lambda에서 리턴되는 값이 배열의 초기값이 됩니다.

아래 예제에서 i는 배열의 index이며, 특정 값을 리턴하도록 구현하여 배열을 초기화할 수 있습니다.

fun main() {

    val arr = Array(3) { Array(3){ i -> i * 10 } }

    for (row in arr) {
        println(row.contentToString())
    }
}

Output:

[0, 10, 20]
[0, 10, 20]
[0, 10, 20]

3. for문으로 2차원 배열 순회

아래와 같이 2중 for loop로 2차원 배열을 순회할 수 있습니다.

fun main() {

    val arr = arrayOf(
        arrayOf(1, 2, 3),
        arrayOf(4, 5, 6),
        arrayOf(7, 8, 9),
    )

    for (i in arr.indices) {
        val row = arr[i];
        for (j in row.indices) {
            val value = arr[i][j]
            print("$value ")
        }
        println()
    }
}

Output:

1 2 3
4 5 6
7 8 9
Loading script...
codechachaCopyright ©2019 codechacha