성장일기

[Java] 가변 배열

2022. 1. 6. 19:08

1. 가변 배열 

 2차원 배열을 결국 배열에 배열을 저장하는 형태로 처리하는 사실을 이용하면 길이가 정해져있는 배열이 아니라 보다 자유로운 형태의 배열을 구성할 수 있다.

 

2차원 이상의 다차원 배열을 생성할 때 전체 배열 차수 중 마지막 차수의 길이를 지정하지 않고, 추후에 각기 다른 길이의 배열을 생성함으로써 고정된 형태가 아닌 보다 유동적인 가변 배열을 구성할 수 있다.

 

 

2. 일반적인 2차원 배열 선언

int[][] arr = new int[5][3];    //5행3열의 2차원 배열

 

위의 코드를 아래와 같이 표현할 수 있다.

int[][] arr = new int[5][];

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

 

 위의 특성을 이용하면 아래와 같이 직사각형 테이블 형태의 고정적인 2차원 배열이 아닌, 각 행마다 각기 다른 길이의 배열을 생성하는 것이 가능하다.(2차원 배열도 결국 1차원 배열에 1차원 배열을 처리하는 형태)

 

 

3. 예제 코드

int[][] arr = new int[5][];

arr[0] = new int[4];
arr[1] = new int[3];
arr[2] = new int[2];
arr[3] = new int[2];
arr[4] = new int[3];
int[][] arr = {
        {10, 10, 10, 10},
        {20, 20, 20},
        {30, 30},
        {40, 40},
        {50, 50, 50}
};

가변배열 역시 중괄호{}를 이용하여 다음과 같이 생성과 초기화를 동시에 하는 것이 가능하다.

 

공유하기

facebook twitter kakaoTalk kakaostory naver band