Java

[Java] 다차원 배열과 가변 배열

junga 2022. 9. 5. 23:51

다차원 배열

  • 2차원 이상의 배열을 의미하며, 배열 요소로 또 다른 배열을 가지는 배열을 의미합니다.
자료형[][] 변수 = new 자료형[열의길이][행의길이]

http://www.tcpschool.com/java/java_array_twoDimensional


public class Main {
    public static void main(String[] args) {
        int[][] arr = new int[2][3];
        System.out.println(arr.length); // 2 -> 배열 속의 배열자체를 하나의 요소로 가지고 있기 때문에 길이는 2이다.

        // 초기화: 1부터 6까지 값을 넣어보자.
        int k = 1;
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                arr[i][j] = k;
                k++;
            }
        }

        // 행 별로 출력하기
        for (int[] iArr : arr) {
            for (int j : iArr) {
                System.out.print(j);
            }
            System.out.println();
        }
        // 123
        // 456


        // 2차원 배열 선언과 동시에 초기화하기
        int[][] intArr = {
                {1, 2, 3},
                {4, 5, 6}
        };

    }
}

가변 배열

  • 다차원 배열을 생성할 때 열의 길이를 명시하지 않음으로써, 행마다 다른 길이의 배열을 요소로 저장할 수 있습니다.
public class Main {
    public static void main(String[] args) {
        int[][] arr = new int[3][]; // 열의 길이를 명시하지 않음.
        arr[0] = new int[2]; // arr 0번 요소에 길이가 2인 배열 생성
        arr[1] = new int[4]; // arr 1번 요소에 길이가 4인 배열 생성
        arr[2] = new int[1]; // arr 2번 요소에 길이가 1인 배열 생성

        // 선언과 동시에 초기화 가능 (위 배열구조와 똑같이 해보기)
        int[][] arr2 = new int[][] {
                {0, 1},
                {0, 1, 2, 3},
                {0}
        };

        // arr2 출력해보기
        for (int i = 0; i < arr2.length; i++) {
            for (int j = 0; j < arr2[i].length; j++) {
                System.out.print(j);
            }
            System.out.println();
        }
        // 01
        // 0123
        // 0
    }
}

'Java' 카테고리의 다른 글

[Java] 클래스 필드의 구분  (0) 2022.09.06
[Java] 클래스 class  (0) 2022.09.06
[Java] 배열 Array, 복사 방법  (0) 2022.09.04
[Java] 조건문 if, switch  (0) 2022.09.03
[Java] 증감 연산자, 삼항 연산자 사용법  (0) 2022.09.03