Java 언어로 알고리즘 문제 풀이를 하다보면 자료의 정렬과 형변환을 자주 사용하게 된다. 그래서 한번 정리를 해볼려고 한다.
배열을 정렬할 때 자주 사용된다. ()안에 배열을 입력해주면 기본적으로 오름차순으로 정렬이 된다.
예)
int[] arr = {3, 5, 2, 7, 6, 9};
Arrays.sort(arr);
System.out.println(arr); // [2, 3, 5, 6, 7, 9]
일반적으로 sort()를 사용할 때 기본적으로 오름차순으로 정렬 되지만 조건으로 Collections.reverseOrder()이라는 조건을 달아주면 내림차순으로 정렬을 할 수 있다.
int[] arr = {3, 5, 2, 7, 6, 9};
Arrays.sort(arr, Collections.reverseOrder()); // 내림차순 정렬
// 오류 발생
단 Collections.reverseOrder()을 사용할려면 배열을 래퍼클래스 타입으로 바꿔줘야 사용이 가능하다.
int[] arr = {3, 5, 2, 7, 6, 9};
Integer[] arr2 = new Integer[arr.length]; // Integer 배열 생성
// for문을 이용한 int 배열 -> Integer 배열
for (int i = 0; i < arr2.length; i++) {
arr2[i] = arr[i];
}
Arrays.sort(arr2, Collections.reverseOrder()); // [9, 7, 6, 5, 3, 2]