티스토리 뷰
Comparator 클래스를 상속하여 내림차순 하는 방법이나, Collections.reverseOrder()를 사용하는 방법은 Objective 타입의 배열 혹은 Primitive 타입의 Wrapper Class로 이루어진 배열을 정렬할 때만 사용할 수 있다.
따라서 Primitive 타입으로 이루어진 배열을 내림차순 정렬할 때는, 오름차순 정렬 후, 뒤집어서 내림차순 정렬한다.
import java.util.*;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
Collections.sort(list, Collections.reverseOrder());
int[] arr = new int[] {10, 2, 3, 93, -1};
System.out.println(Arrays.toString(arr)); // [10, 2, 3, 93, -1]
reverseSort(arr);
System.out.println(Arrays.toString(arr)); // [93, 10, 3, 2, -1]
}
static void reverseSort(int[] arr) {
// 오름차순 정렬 후 내림차순 정렬
Arrays.sort(arr);
for(int i=0; i<arr.length/2; i++) {
int tmp = arr[i];
arr[i] = arr[arr.length-1-i];
arr[arr.length-1-i] = tmp;
}
}
}
'Java > Java 사용법들' 카테고리의 다른 글
Java에서 int형과 String형 변수 크기 비교하기 (0) | 2021.06.29 |
---|---|
Java에서 우선순위 큐의 우선순위 변경하기 (0) | 2021.06.29 |
[Java] 자바 스트링상수!!! (0) | 2021.01.28 |
[Java] String Format과 16진수를 10진수로 변환하기 (0) | 2021.01.23 |
[Java] 상속간의 메모리할당과 참조변수, 형변환 (0) | 2021.01.23 |
댓글