2차원 배열
테이블 형태의 데이터를 저장하기 위한 배열이다.
// 타입[][] 변수이름 = new 타입[][];
int[][] Array = new int[4][4]; // 4행4열 2차원 배열 생성
4행 4열 크기의 2차원 배열을 생성한다.
Array[0][0] ~ Array[3][3]
Array[1][0] = 10;
2차원 배열 초기화
int[][] Array = { {1,2,3}, {4,5,6} };
int[][] Array = { {1,2,3},
{4,5,6}};
아래 코드로 작성하는 게 사람보기에 직관적이라 더 편하다.
지정을 안 할 시 자동으로 초기화가 0으로 된다.
2차원 배열의 길이
Array.length를 하면 4가 나온다.
Array라는 배열 각 요소에 배열이 들어있는 것이다.
Array[0].length를 하면 4가 나온다.
따라서 Array.length를 하면 행의 길이가, Array[0].length를 하면 열의 길이가 나온다.
Arrays 클래스
배열의 출력
toString() 메서드 : 배열의 내용을 출력
deepToString() 메서드 : 2차원 배열의 내용을 출력
int[] arr = {1,2,3};
int[][] arr2 = { {1,2,3}
{4,5,6}};
System.out.println(Arrays.toString(arr)); // 출력 : [1, 2, 3]
System.out.println(Arrays.deepToString(arr2)); // 출력 : [ [1,2,3] [4,5,6] ]
배열의 비교
equals() 메서드 : 배열의 내용을 비교
deepEquals() 메서드: 2차원 배열의 내용을 비교
int[][] arr1 = { {"ABC","DEF"}, {"GHI","JKL"} };
int[][] arr2 = { {"ABC","DEF"}, {"GHI","JKL"} };
System.out.println(Arrays.deepEquals(arr1,arr2)); // 출력 : true
배열 복사
copyOf() 메서드 : 배열을 복사한다.
copyOfRange() 메서드 : 배열을 복사한다.
int[] arr1 = {0,1,2,3,4,5,6};
// Arrays.copyOf(복사할 배열이름, 복사할 요소의 갯수);
int[] arr2 = Arrays.copyOf(arr, arr.length); // arr2 = [0,1,2,3,4,5,6]
int[] arr3 = Arrays.copyOf(arr, 2); // arr3 = [0,1]
// Arrays.copyOfRange(복사할 배열이름,배열 몇 부터 , 배열 몇 까지);
int[] arr4 = Arrays.copyOfRange(arr, 2, 5); // arr4 = [2,3,4] 5는 불포함
int[] arr5 = Arrays.copyOfRange(arr, 0, 10);
// arr5 = [0,1,2,3,4,5,6,0,0,0] 범위를 벗어나면 빈자리는 0으로
배열 정렬
sort() 메서드 : 배열을 오름차순으로 정렬한다.
int[] arr1 = { 10, 2, 7, 1 };
Arrays.sort(arr1);
System.out.println(Arrays.toString(arr1));
// 출력 : [1, 2, 7, 10]
'JAVA 공부 > 기초 공부' 카테고리의 다른 글
[JAVA] 11. StringTokenizer (0) | 2023.10.22 |
---|---|
[JAVA] 9. 배열 (1) (0) | 2023.01.31 |
[JAVA] 8. 반복문 (0) | 2023.01.30 |
[JAVA] 7. 조건문 (0) | 2023.01.30 |
[JAVA] 6. 연산자 (0) | 2023.01.27 |