Kotlin: 다차원 배열

어느 시점에서 우리 모두는 배열로 작업했습니다. 동일한 유형의 여러 값을 단일 변수에 저장하는 데 유용한 데이터 구조입니다. 배열의 복잡한 사용에는 2D, 3D 또는 기타 다차원 배열에 데이터를 저장하는 것이 포함됩니다. 이를 통해 행렬, 그리드 및 큐브와 같은 것을 효과적으로 표현할 수 있습니다.

이 튜토리얼에서는 특히 Kotlin 프로그래밍 언어에서 2D, 3D 및 기타 다차원 배열을 선언, 초기화 및 사용하는 방법에 중점을 둘 것입니다.

전제 조건



Kotlin의 다차원 배열과 목록을 이해하려면 1D 배열을 제대로 이해해야 합니다. 진행하기 전에 이 기사read the article와 유사한 kotlin 배열에 대한 직관적인 기사를 게시했습니다.

Kotlin의 2D 배열



2D 배열은 그리드/보드/매트릭스 유형의 데이터를 저장하는 편리한 방법입니다.

Kotlin 표준 라이브러리를 자세히 살펴보면 함수arrayOf()가 실제로 Array<T>를 반환합니다. 여기서 T는 배열의 요소 유형입니다. 이는 T를 전달하면 Array<T> 배열을 얻는다는 것을 효과적으로 의미합니다.

즉, arrayOf()arrayOf() 함수에 전달하면 효과적으로 Array<Array<T>>를 얻을 수 있으며 이것이 정확히 2D 배열의 표현입니다!

미리 정의된 데이터가 있는 2D 배열



미리 정의된 값으로 2D 배열을 만드는 방법을 살펴보겠습니다.

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


이렇게 하면 1D Kotlin 배열 모음인 2D Kotlin 배열이 생성됩니다. 다음은 배열의 표현입니다.

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

As a matrix:
1 2 3
4 5 6
7 8 9


다시 말하지만 이러한 배열은 형식이 안전하지 않습니다. 아무 문제 없이 배열에 다른 데이터 유형을 추가할 수 있습니다. 안전한 형식으로 만들려면 초기화 중에 배열의 형식을 선언해야 합니다.

val array = arrayOf<Array<Int>>( // Declaring the type gives error if data types are mixed
    arrayOf(1, 2, 3),
    arrayOf(4, 5, 6, "this string will give error"),
    arrayOf(7, 8, 9)
)


동적 크기의 2D 배열



고정된 알려진 크기가 없는 2D 목록을 만들려면 mutableListOf<MutableList<T>>() 선언을 사용합니다. 여기서 T는 내부 목록이 보유할 것으로 예상되는 데이터 유형입니다. 나중에 일부 논리를 사용하여 배열이 채워지기 때문에 초기 값을 전달하지 않습니다.

실제로 살펴보겠습니다.

val list = mutableListOf<MutableList<Int>>()

// The elements within the inner lists can be anything, the numbers below are just an example.

// `repeat()` takes in a number and iterates from 0 to number-1
repeat(4) {
    // `row` is a new row in the array
    val row = mutableListOf<Int>()

    repeat(4) { col -> // `col` is a new column in the row, ranges from 0 to 3
        row += col
    }

    // Append the row to the array, can also use the `add()` function
    list += row
}

// for each list in the list, print its element in matrix form
for(sublist in list) {
    for (j in sublist.indices){
        print("$j ")
    }

    println() // new line after each row
}

/*
You can also access particular elements like:
list[0][0] -> First element of the first row
or
list.get(0).get(0) -> Same as above
*/


이 코드는 다음을 출력합니다.

0 1 2 3 
0 1 2 3 
0 1 2 3 
0 1 2 3


따라서 필요에 따라 kotlin에서 동적 목록을 만들 수 있습니다.

Kotlin의 N차원 배열



위에서 설명한 접근 방식을 사용하면 3D, 4D 또는 그 이상의 차원 배열을 만드는 것이 어렵지 않을 것입니다.

가지고 있는 데이터 세트를 알고 있는 경우 arrayOf() 함수를 사용하거나 가변 배열 데이터가 있는 경우 mutableListOf() 함수를 사용하여 배열을 만들 수 있습니다.

결론



이 튜토리얼에서는 arrayOf()mutableListOf() 함수를 사용하여 kotlin의 배열 및 가변 목록에 대해 배웠습니다.

이러한 함수는 Kotlin에서 모든 데이터 유형의 배열과 목록을 만들고 값을 저장하고 해당 데이터를 기반으로 작업을 수행하는 데 도움이 됩니다.

이 튜토리얼이 도움이 되었기를 바랍니다. Kotlin을 시작하는 친구들과 공유하세요!

좋은 웹페이지 즐겨찾기