hahn

[JAVA] List.sort() 정렬(오름차순, 내림차순) - Comparator 이용 본문

개발 공부/JAVA

[JAVA] List.sort() 정렬(오름차순, 내림차순) - Comparator 이용

hahn 2021. 9. 12. 20:30
728x90
반응형

백준 정렬 문제 풀던 중 시간 초과로 정렬 방법 찾아봐야 하나 싶었는데

 

 

이 문장을 보고 학원에서 코드 짤 때 검색해서 사용했던 게 기억이 나

 

한 번 다시 찾아봤다.

 

학원 다닐 때 Map, ArrayList 자주 사용했었는데

 

수료하고 나서 집에서 공부할 때는 그냥 배열만 썼다.

 

그래서 잊고 있었던 것도 있고,

 

내장 함수 사용하면 뭔가 내 실력이 아닌 것 같아 꺼렸다.

 

근데 써보라니까 함 써봐야지 ^^

 

List<Integer> arr = new ArrayList<Integer>();

숫자 정렬해야하니까 제네릭 Integer 써주고,

 

arr.sort 설명을 보면

 

뭐라 많이 써있다

 

암튼 입력받는 자료형이 Comparator인걸 확인했으니까

 

얘도 이렇게 메서드 확인해보면 여러 가지 있는데

 

그냥 직감적으로 naturalOrder은 오름차순이고,

 

reverseOrder은 내림차순일 것 같아서 테스트해보니까 맞았다.

 

arr.sort(Comparator.naturalOrder());

배열에 값 넣어주고 sort 실행해주면 정렬 끝

 

출력만 해주면 된다.

 

js 할 때는 조건 비교해서 1, -1, 0 리턴해줬던 거 같은데

 

이거 이용하면 사용자 정의 정렬도 가능할 것 같기도 한데 

 

나중에 필요하면 알아보도록 하자..

728x90
반응형