[자바] 이차원 배열 생성

동쪽에서만나다·2022년 9월 26일
    int [][] matrix = {
        {0, 1, 0, 0},
        {0, 0, 1, 0},
        {0, 0, 0, 1},
        {0, 1, 0, 0}
    };
    
    //1번
    int [][] arr1 = new int[matrix.length][];
    for(int i = 0; i < arr.length; i++) arr[i] = Arrays.copyOf(matrix[i], matrix.length);
    
	//2번
    int [][] arr2 = new int[matrix.length][matrix.length];
    for (int i = 0; i < matrix.length; i++) {
      for (int j = 0; j < matrix.length; j++) {
        arr1[i][j] = matrix[i][j];
      }
    }
   
    arr[0][0] = 1;
    arr1[0][0] = 1;
    System.out.println(Arrays.deepToString(matrix));
    System.out.println(Arrays.deepToString(arr1));
    System.out.println(Arrays.deepToString(arr2));

결과값

[[0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1], [0, 1, 0, 0]] //matrix
[[1, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1], [0, 1, 0, 0]] //arr1
[[1, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1], [0, 1, 0, 0]] //arr2

*매트릭스 자체를 수정하는 것은 부작용이 발생할 가능성이 있음.

profile
아수라발발타

0개의 댓글