Java의 정렬 방법 중 Java.util.Arrays 클래스의 sort() 메서드를 사용해 보겠습니다.
sort() 메서드는 매개변수로 기본타입과 객체를 받을 수 있습니다.
그리고 시작 인덱스와 종료 인덱스를 추가로 받아 부분 정렬이 가능합니다.
추가로 기본적으로 오름차순 정렬되지만 내림차순으로도 정렬 가능합니다.
문법
sort(primitive type array)
- 매개변수로 기본타입 배열을 이용합니다.
- int[], double[], float[], long[], short[], byte[], char[]
sort(primitive type array, int startIndext, int endIndex)
- 기본타입에 시작 인덱스 값과 종료 인덱스 값을 지정합니다.
sort(Object[] o)
- 매개변수로 객체를 받습니다.
- Wrapper Class 값을 받을 수 있습니다.
sort(Object[] o, int startIndext, int endIndex)
sort(T[] a, Comparator<? super T> c)
- 매개변수로 객체를 받으며 Comparator의 메서드에 따라 정렬할 수 있습니다.
- 주로 Comparator.reverseOrder()를 사용해 내림차순으로 사용합니다.
sort(T[] a, int startIndext, int endIndex, Comparator<? super T> c)
예시
오름차순
int[] arr = {5, 3, 4, 1, 2};
Arrays.sort(arr);
String[] arr2 = {"peach", "apple", "banana"};
Arrays.sort(arr2);
Arrays.stream(arr).forEach(a -> System.out.println(a));
Arrays.stream(arr2).forEach(a -> System.out.println(a));
//결과
1
2
3
4
5
apple
banana
peach
내림차순
- 기본타입의 배열을 내림차순으로 정렬하고 싶다면
기본타입 배열을 래퍼 클래스로 감싸야 내림차순으로 정렬할 수 있습니다.
Integer[] arr = {5, 3, 4, 1, 2};
Arrays.sort(arr, Comparator.reverseOrder());
String[] arr2 = {"peach", "apple", "banana"};
Arrays.sort(arr2, Comparator.reverseOrder());
Arrays.stream(arr).forEach(a -> System.out.println(a));
Arrays.stream(arr2).forEach(a -> System.out.println(a));
//결과
5
4
3
2
1
peach
banana
apple
'Java' 카테고리의 다른 글
자바에서의 해시(Hash), HashSet, HashMap (0) | 2022.09.26 |
---|---|
자바에서의 스택과 큐 (0) | 2022.09.23 |
Bootstrap5 modal 버튼없이 다루기 (0) | 2022.08.02 |
spring scheduler 이용해서 매시각 메서드 실행하기 (0) | 2022.08.02 |
JSTL foreach 한 리스트에서 객체 두 개씩 뽑아 사용하기 (0) | 2022.07.20 |