관리 메뉴

Bbaktaeho

Kotlin(코틀린) 6. 다차원 배열 본문

프로그래밍 (Programming)/코틀린 (Kotlin)

Kotlin(코틀린) 6. 다차원 배열

Bbaktaeho 2019. 1. 24. 10:38
반응형

다차원 배열)

2차원 이상의 배열을 다차원 배열이라고 한다.

어떤 배열 요소에 값이 아닌 또 다른 배열을 저장하면 2차원 배열이 된다. 2차원 배열은 행과 열로 구성되는 표라고 생각해도 좋다.

1
2
3
4
5
6
7
8
9
10
fun main(args: Array<String>) {
    val arr1 = arrayOf(arrayOf(1,2,3), arrayOf(4,5,6))
    val arr2 = Array(2, {Array(3,{i -> i+1 })})
    arr1[0].forEach { print(it) }
    arr1[1].forEach { print(it) }
    println()
    arr2[0].forEach { print(it) }
    arr2[1].forEach { print(it) }
}
cs

변수 arr1을 보면 첫 번째 인덱스에 배열, 두 번째 인덱스에도 배열이다. 즉, 다차원 배열이다. 2행 3열로 구성되는 Int 타입의 2차원 배열이라고 말할 수 있다. arr2도 마찬가지다.

이 코드를 실행하면

123456

123123

으로 출력된다.

예제로 행과 열이 5개로 구성된 2차원 배열을 생성해보자.

1
2
3
4
5
6
7
8
import java.util.*
fun main(args: Array<String>) {
    printArr(creatArr(5,5))
}
fun creatArr(row:Int,col:Int):Array<Array<Int>> = Array<Array<Int>>(row,{Array<Int>(col,{i->1})})
fun printArr(arr : Array<Array<Int>>) {println(Arrays.deepToString(arr))}
cs

(최대한 코틀린스럽게 짜봤습니다.)

여기서 Arrays.deepToString() 함수는 Arrays 클래스의 메서드로 다차원 배열을 문자열로 보기 좋게 출력해준다.

이 코드를 실행하면

[[1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1]]

으로 출력된다.


반응형