객체 배열 초기화

Devjuho·2023년 12월 29일
1

Java

목록 보기
1/3

안녕하세요. 본질을 추구하는 개발자 우주호입니다.

알고리즘 혹은 개발을 하다보면 종종 배열 초기화하는 일이 있으며 초기화중 하나인 Arrays.fill 메소드를 통해 초기화해보고자 합니다.

    /**
     * Assigns the specified int value to each element of the specified array
     * of ints.
     *
     * @param a the array to be filled
     * @param val the value to be stored in all elements of the array
     */
    public static void fill(int[] a, int val) {
        for (int i = 0, len = a.length; i < len; i++)
            a[i] = val;
    }

Arrays.fill 메소드는 1차원배열을 초기화하는 메소드이다.

2차원배열 초기화시 1차원 배열 타겟으로 메소드 수행하면 되고
3차원배열 초기화시 2차원 배열로 나누고, 2차원 배열을 다시 1차원 배열 타겟으로 메소드 수행하면 초기화를 쉽게 할 수 있다.

[2차원 배열 초기화 소스코드]

 		int[][] D_2 = new int[5][5]; // 2차원 배열 초기화

        // 2차원 배열 초기화
        for(int row[] : D_2){
            Arrays.fill(row, 2);
        }

        // 2차원 배열 출력
        for(int r=0; r<5; r++){
            for(int c=0; c<5; c++){
                System.out.print(D_2[r][c]+ " ");
            }
            System.out.println();
        }
        System.out.println();

[출력 결과]

[3차원 배열 초기화 소스코드]

		int[][][] D_3 = new int[3][3][3];

        // 3차원 배열 초기화
        for(int row[][] : D_3){

            for(int row2[] : row){
                Arrays.fill(row2, 2);
            }
        }

        // 3차원 배열 출력
        for(int i=0; i<3; i++){
            for(int j=0; j<3; j++){
                for(int k=0; k<3; k++){
                    System.out.print(D_3[i][j][k] + " ");
                }
                System.out.println("");
            }
            System.out.println("");
            System.out.println("");
        }

[출력결과]

profile
설계하고 구현하는 걸 좋아하는 개발자입니다.

0개의 댓글