타입 [][] 변수이름;
ex. int [][] score = new int [4][3] //4행 3열의 2차원 배열을 생성한다. int값 12개의 저장공간 마련됨.
배열이름[행index][열index]
초기화 : {} 한번 더 써서 행별로 구분.
ex.
int [][] arr = {
{1,2,3},
{4,5,6}
};
Arrays로 배열 다루기
1) 배열의 비교와 출력
toString() : 모든 요소를 문자열로 출력 (deeptoString() : 2차원 배열)
ex.
int[] arr = {0,1,2,3,4};
int[] [] arr2D = {{11,12}, {21,22}};
System.out.println(Arrays.toString(arr));
// --> [0,1,2,3,4] 1차원 배열
System.out.println(Arrays.deeptoString(arr2D));
// --> [[11,12], [21,22]] 2차원 배열
equals() : 두 배열에 저장된 모든 요소를 비교해서 같으면 true, 다르면 false. (deepEquals() : 다차원 배열의 비교)
ex.
String[][] str2D = new String[][]{{"aaa", "bbb"}, {"AAA", "BBB"}};
String[][] str2D2 = new String[][]{{"aaa", "bbb"}, {"AAA", "BBB"}};
System.out.println(Arrays.equals(str2D, str2D2));
// --> false 다차원 배열이기 때문에)
System.out.println(Arrays.deepEquals(str2D, str2D2));
// --> true
2) 배열의 복사
copyOf() : 배열 전체 복사
copyOfRange() : 배열의 일부 복사 (지정된 범위의 끝은 포함X)
ex.
int[] arr = {0,1,2,3,4};
int[] arr2 = Arrays.copyOf(arr, arr.length); //-> arr2=[0,1,2,3,4]
int[] arr3 = Arrays.copyOf(arr, 3); //-> arr3 =[0,1,2]
int[] arr4 = Arrays.copyOf(arr, 7); //->arr4=[0,1,2,3,4,0,0]
int[] arr5 = Arrays.copyOfRange(arr, 2, 4); //arr5=[2,3]
int[] arr6 = Arrays.copyOfRange(arr, 0, 7); //arr7= [0,1,2,3,4,0,0]
3) 배열의 정렬
sort() : 배열을 정렬
ex.
int[]arr = {3,2,0,1,4};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
// --> [0,1,2,3,4] 오름차순 정렬