본문 바로가기

Java

java - 다차원 배열 Multi Dimensional Array

다차원 배열 Multi Dimensional Array

베이직자바

2019-12-04 23:40:49


배열 안에 배열이 저장되어 있는 형태.

▶선언과 초기화

 

int [ ] [ ] numbers = new int [2] [3];

int numbers2 [ ] [ ] = new int [ ] [ ] { { 1,2,3 }, { 4,5,6 } };

int [ ] numbers3 [ ] = { { 1,2,3 } , { 4,5,6 }, { 7,8,9 } };

 

선언하는 부분을 보면 대괄호의 위치가 전부 다르다.

어느 위치에 있던 상관 없이 개수가 2개이면 2차원 배열이라고 부름.

보통 맨 위처럼 타입 뒤게 2개를 모두 적는다.

 

다차원 배열은 가변배열로 만들 수 있다.

▶가변 배열 = 크기를 일부만 지정해주는 것.

int [ ] [ ] numbers4 = new int [ 3 ] [ ] ;

 

numbers4 [ 0 ] = new int [ 3 ];

numbers4 [ 1 ] = new int [ 4 ];

numbers4 [ 2 ] = new int [ 10 ];

=> numbers4 의 배열 속에 있는 각각의 배열의 크기를 지정해줬다.

크기를 지정한 것 뿐, 값을 넣은 것이 아님.

 

▶값 넣기

numbers4 [ 0 ] = 3 ;

=> 이렇게 바로 값넣기 불가능.

 

numbers4 [ 0 ] [ 0 ] =  3 ;

=> 2차원배열의 경우 인덱스 번호 2개를 모두 작성해 값이 들어갈 위치를 

정확히 알려줘야 값을 넣을 수 있다.

 

System.out.println(numbers.length);

: 1차원 배열의 길이
System.out.println(numbers[0].length);

: 2차원 배열의 길이.

 

▶출력

System.out.println(Arrays.toString(numbers));

: 1차원 배열에서는 이렇게 값을 출력했지만, 2차원 배열을 이렇게 작성하면

값이 아닌 주소가 출력된다.

 

for (int i = 0 ; i < numbers.length; i++){
       System.out.println(Arrays.toString(numbers[i])); 
}

 

: 이렇게 하면 가능하다. 1차원에 먼저 접근을 한 후에 사용하기.

* .length( ) 는 문자열 배열에서만 사용함. 

'Java' 카테고리의 다른 글

java - 문자배열 String Array  (0) 2023.03.13
java - 정렬 Sort  (0) 2023.03.13
java - 배열 Array  (0) 2023.03.13
java - 반복문 Repetitive Statement  (0) 2023.03.13
java - 조건문 Conditional Statement, import  (0) 2023.03.13