- 예제
array
는 int[] array = {3, 17, 1, 39, 8, 41, 2, 32, 99, 2};
을 받은 값
1. 오름차순 정렬
- 사용 메소드 :
public static void sort(Object[] a)
Arrays.sort(array)
사용 (default 오름차순)
- 파라미터는 primitive type (int, byte, float..), Object(객체 포함)
예제
public static void main(String[] args) {
int[] array = {3, 17, 1, 39, 8, 41, 2, 32, 99, 2};
Arrays.sort(array);
for(int result: array){
System.out.print(result + " ");
}
}
//결과
//1 2 2 3 8 17 32 39 41 99
2. 내림차순 정렬
- 사용 메소드:
public static <T> void sort(T[] a, Comparator<? super T> c)
- 내림차순에 파라미터
primitive type(int)
을 사용 못함, reference type(Integer)
사용
Arrays.sort(array, Collections.reverseOrder())
Arrays.sort(array, Comparator.reverseOrder())
Arrays.sort(array, Comparator 직접 구현)
- 아래의 예제는 new와 람다식을 통해 2가지 방법으로 구현
예제
Integer[] array = {3, 17, 1, 39, 8, 41, 2, 32, 99, 2};
//첫번째 방법 Collections.reverseOrder()
Arrays.sort(array, Collections.reverseOrder());
//두번째 방법 Comparator.reverseOrder()
Arrays.sort(array, Comparator.reverseOrder());
//세번째 방법 Comparator 직접 구현 (compare 메소드 구현)
Arrays.sort(array, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2.compareTo(o1);
}
});
Arrays.sort(array, (o1, o2) -> o2.compareTo(o2)); //람다식 사용