Chapter 5. 배열
24. Arrays로 배열 다루기
- Arrays 클래스는 배열을 다루는데 유용한 메서드를 제공
- 자주 사용되는 메서드 소개(11장에서 심화)
🌼배열의 비교와 출력 - equals(), toString()
toString()
- toString() 배열의 모든 요소를 문자열로 편하게 출력 가능
- 일차원 배열에만 사용 가능
- 다차원 배열에는
deepToString()
사용
int[] arr = {0,1,2,3,4};
int[][] arr2D = { {11,12},{21,22} };
System.out.println(Arrays.toString(arr));
System.out.println(Arrays.deepToString(arr2D));
equals()
- 두 배열에 저장된 모든 요소를 비교해서
같으면 true
, 다르면 false
반환
- 일차원 배열에만 사용 가능
- 다차원 배열에는
deepEquals()
사용
String[][] str2D = new String[][]{{"aaa","bbb"},{"AAA","BBB}};
String[][] str2D2 = new String[][]{{"aaa","bbb"},{"AAA","BBB}};
System.out.println(Arrays.equals(str2D, str2D2));
System.out.println(Arrays.deepEquals(str2D, str2D2));
🌻배열의 복사 - copyOf(), copyOfRange()
copyOf()
: 배열 전체 복사해서 새로운 배열 만들어 반환
copyOfRange()
: 배열 일부 복사해서 새로운 배열 만들어 반환하되, 지정된 범위의 끝은 포함되지 않음
int[] arr = {0,1,2,3,4};
int[] arr2 = Arrays.copyOf(arr,arr.length);
int[] arr3 = Arrays.copyOf(arr, 3);
int[] arr4 = Arrays.copyOf(arr, 7);
int[] arr5 = Arrays.copyOfRange(arr, 2, 4);
int[] arr6 = Arrays.copyOfRange(arr, 0, 7);
🌷배열의 정렬 - sort()
- 배열 정렬시
sort()
사용 (11장에서 심화)
int[] arr = {3,2,0,1,4}
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));