ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Java | 다차원 배열_이차원 배열
    JAVA/JAVA 2020. 1. 29. 17:45

    다차원 배열_이차원 배열

    배열의 리스트가 배열로 이루어진 표(면)의 형태를 갖는 배열

    배열의 첫 번째 리스트를 이라고 하고,
    각 행에 해당하는 배열을 이라고 함


    고정배열

    행과 열의 개수가 정해져 있는 배열

    자료형 [][] 배열명 = new 자료형[개수][개수]

    가변배열

    행의 개수는 정해져 있지만, 열의 개수는 정해져 있지 않은 배열

    행의 개수가 정해져 있지 않은 배열은 생성할 수 없음

    자료형 [][] 배열명 = new 자료형[개수][]

    초기화

    // 배열을 생성한 후 초기화 하는 경우, 불편하기 때문에 자주 사용되지 않음
    자료형 [][] 배열명 = new 자료형[2][2]
    배열명[0][0] = 값1, 배열명[0][1] = 값2, 배열명[1][0] = 값3, 배열명[1][1] = 값4
    
    // 생성과 동시에 초기화, 동시에 초기화하는 경우 행/열 개수를 임의로 설정 가능
    자료형 [][] 배열명 = {{값1, 값2, 값3},{값4, 값5}, {값7},,,}

    사용례

    package j200129;
    
    public class DoubleArray {
    
        public static void main(String[] args) {
            // int형 이차원 배열 array 생성 및 초기화
            int[][] array = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
    
             // array 배열의 행 값 출력
            for (int i = 0; i < array.length; i++) {
                System.out.println(array[i]);
            }
             //  행의 주소값이 출력됨 -> 열의 리스트가 저장되어 있는 주소를 알려줌
            /*
            [I@15db9742
            [I@6d06d69c
            [I@7852e922
             */
    
             // array 배열의 행에 저장된 각각의 열 값 출력
            for (int i = 0; i < array.length; i++) {
                for (int j = 0; j < array[i].length; j++) {
                    System.out.println("array2[" + i + "][" + j + "]: " + array[i][j]);
                }
             }
             /*
             array2[0][0]: 1
             array2[0][1]: 2
             array2[0][2]: 3
             array2[1][0]: 4
             array2[1][1]: 5
             array2[1][2]: 6
             array2[2][0]: 7
             array2[2][1]: 8
             array2[2][2]: 9
             */
        }
    
    }

    확장 for문_이차원 배열

    형식

    for(1차원 배열 자료형 배열명[]:2차원 배열명){
        for(1차원 배열 자료형 변수명: 1차원 배열명){
            // Java Code;
        }
    }

    사용례

    package j200129;
    
    public class DoubleArray {
    
        public static void main(String[] args) {
    
            int[][] array = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
    
    		// 2차원 배열 내의 각각의 행을 임시로 1차원 배열 tmp[]에 할당
            for (int tmp[] : array) { 
            	// 1차원 배열 tmp[]의 각각의 요소를 임시로 변수 val에 할당
                for (int val : tmp) { 
                    System.out.print(val + "\t");
                }
                System.out.println();
            }
            /*
            1    2    3    
            4    5    6    
            7    8    9    
            */
        }
    
    }

    배열의 리스트가 또 배열로 이루어져 있는 이차원 배열에 대해 살펴보았습니다.

    이차원 배열의 경우 표를 연상하면 조금 더 이해하기가 수월할 것입니다.

    다차원 배열에서 이차원 배열까지는 많이 사용된다고 하기 때문에

    이차원 배열의 구조와 기본적인 사용법에 대해서는 알아두는 것이 좋겠습니다.

    'JAVA > JAVA' 카테고리의 다른 글

    Java | Inheritance 상속 & Overriding & Class 관계  (0) 2020.01.29
    Java | Array of Objects 객체 배열  (0) 2020.01.29
    Java | Ellipsis 가변인수  (0) 2020.01.29
    Java | String Method & API 문서 참조 방법  (0) 2020.01.29
    Java | Scanner  (0) 2020.01.28

    댓글

Designed by Tistory.