![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvR3DS%2FbtqRwbiTeUf%2FIsj08jkPdi9WibwbLmQPG0%2Fimg.png)
[Java] 배열(array) 오름차순 / 내림차순 정렬 Arrays.sort()
리트리버J
·2020. 12. 27. 14:06
728x90
버블정렬, 선택정렬 등 기본적으로 for문을 사용하여 정렬을 할 수 있지만, 우리에겐 Arrays.sort()가 존재한다.
이 메소드를 이용하면 오름차순 / 내림차순이 간단하게 가능하다.
오름차순 정렬
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
package com.codeup;
import java.util.Arrays;
public class CodeUp100 {
public static void main(String[] args) {
int[] arr = {1,5,2,4,3};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
}
}
|
cs |
오름차순은 sort()메소드의 파라미터로 배열만 넣어주면 되지만 내림차순은 그렇게 간단하지 않다.
천천히 내림차순 정렬을 진행해보자.
내림차순 정렬
sort()에 파라미터가 1개가 아니라 2개인 메소드가 있다.
심지어 기본자료형 배열의 인자가 아닌 클래스 타입의 배열이다. ( T[] )
또한, Comparator<? super T>라는 인자도 함께 한다.
일단 T[]에 집중하자.
int[] 을 Integer[]로 변환시켜야 한다.
Integer[] integerArr = Arrays.stream(arr).boxed().toArray(Integer[]::new);
을 통해 변환시켜주고,
Arrays.sort(integerArr, Comparator.reverseOrder());
을 통해 역순으로 정렬해주면 된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
package com.codeup;
import java.util.Arrays;
import java.util.Comparator;
public class CodeUp100 {
public static void main(String[] args) {
int[] arr = {1,5,2,4,3};
Integer[] integerArr = Arrays.stream(arr).boxed().toArray(Integer[]::new);
Arrays.sort(integerArr, Comparator.reverseOrder());
System.out.println(Arrays.toString(integerArr));
}
}
|
cs |
변환과정과 Comparator에 대한 설명은 나중에 추가하겠습니다.
728x90
'Programming > Java' 카테고리의 다른 글
[Java] log4j 출력이 안되는 현상 해결 (0) | 2021.05.24 |
---|---|
[JAVA] ArrayList 빈 값 Null 체크 (0) | 2021.02.05 |
[JSP] <c:url> 과 <c:param>의 관계 & Request header is too large 오류 해결 (0) | 2021.01.19 |
[java] Collection - List, Set, Map (0) | 2020.12.22 |
Math클래스 (0) | 2020.12.17 |