Arrays 클래스에는 배열을 다루기 위한 다양한 메소드가 있다.
Arrays 클래스의 메소드는 모두 클래스 메소드(static method) 이므로, 객체 생성없이 사용할 수 있다.
binarySearch() 메소드 사용 예제
int[] arr = new int[1000];
for(int i = 0; i < arr.length; i++) {
arr[i] = i;
}
System.out.println(Arrays.binarySearch(arr, 437)); // 437
| 배열 요소의 타입 | 기본값 |
|---|---|
| char | '\u0000' |
| byte, short, int | 0 |
| long | 0L |
| float | 0.0F |
| double | 0.0 또는 0.0D |
| boolean | false |
| 배열, 인스턴스 등 | null |
copyOf() 메소드 사용 예제
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = Arrays.copyOf(arr1, 3);
for (int i = 0; i < arr2.length; i++) {
System.out.print(arr2[i] + " "); // 1 2 3
}
int[] arr3 = Arrays.copyOf(arr1, 10);
for (int i = 0; i < arr3.length; i++) {
System.out.print(arr3[i] + " "); // 1 2 3 4 5 0 0 0 0 0
}
copyOfRange() 메소드 사용 예제
int[] arr1 = {1, 2, 3, 4, 5};
int[] arr2 = Arrays.copyOfRange(arr1, 2, 4);
for (int i = 0; i < arr2.length; i++) {
System.out.print(arr2[i] + " "); // 3 4
}
fill() 메소드 사용 예제
int[] arr = new int[10];
Arrays.fill(arr, 7);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " "); / 7 7 7 7 7 7 7 7 7 7
}
int[] arr = { 5, 3, 4, 1, 2 };
Integer[] arr2 = { 5, 3, 4, 1, 2 };
// 오름차순 정렬
Arrays.sort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " "); // 1 2 3 4 5
}
System.out.println();
// 내림차순 정렬
Arrays.sort(arr2, Collections.reverseOrder());
for (Integer it : arr2) {
System.out.print(it + " "); // 5 4 3 2 1
}