다차원 배열 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 |