[개발 공부]/[자바 JAVA]

[JAVA] 다차원 배열 (Java Array) / 배열의 복사

wild keyboardist 2022. 6. 14. 11:03

[JAVA] 2차 배열 (Java Array) / 배열의 복사

 

 

 

 

 

 

 

 

 

 

  • 다차원 배열이란?

=> 자료형이 같은 1차원 배열의 묶음으로써, 배열 안의 배열구조

 

 

 

 

 

 

 

 

 

[선언과 할당]

 

//자료형[][] 배열명 = new 자료형[부모배열크기][자식배열크기];
int[][] arr = new int[3][4];


//자료형 배열명[][] = new 자료형[부모배열크기][자식배열크기];
int arr[][] = new int[3][4];


//자료형[] 배열명[] = new 자료형[부모배열크기][자식배열크기];
int[] arr[] = new int[3][4];


//선언과 동시 초기화
int[][] arr = {
                  {10,10,10,10},
                  {20,20,20,20},
                  {30,30,30,30}
              };

 

 

 

 

 

 

 

 

 

 

[가변배열의 선언]

 

 

=> 다차원 배열 마지막 차수의 크기를 미리 지정하지 않고 각각 다르게 지정한다 

 

//자식배열의 크기는 빈값으로
int[][] arr = new int[3][];

arr[0] = new int[3];
arr[1] = new int[1];
arr[2] = new int[2];


//결과값 예시
// int[][] arr = {
//                   {10,10,10},
//                   {20},
//                   {30,30}
//               };

 

 

 

 

 

 

 

 

 

 

 

[배열의 복사]

 

 

  • for 문을 이용한 배열의 복사
int[] arr = {1,2,3,4,5};
int[] arr2 = new int[7];


for(int i=0; i<arr.length; i++) {
    //배열 arr 의 값 => arr2 에 저장
    arr2[i] = arr[i];
}

 

 

 

 

 

  • System.arraycopy() 메소드를 이용한 배열의 복사
int[] arr1 = {1,2,3,4,5};
int[] arr2 = {10,20,30,40,50};


System.arraycopy(arr1, 1, arr2, 2, 2);
// => arr1[1] 에서 arr2[2] 로 2개만큼 복사한다


//결과값 :
// arr1 = {1,2,3,4,5};
// arr2 = {10,20,2,3,50};