티스토리 뷰

728x90
반응형

Java에서 객체를 정렬할때 직접 정렬 알고리즘을 짜서 정렬 할 수도 있지만, Arrays.sort()나 Collections.sort()를 많이 사용하죠.

 

사용자 기준으로 정렬기준을 정해 원하는대로 정렬하고 싶을때 Comparator, Comparable을 사용합니다.

 

Comparator과 Comparable의 차이점을 간단하게 생각하자면

Comparable은 Class에 정렬기준을 정하는 것이고, Compartor는 기본 정렬 기준과 다르게 정렬하고 싶을때 사용합니다.

 


Comparable 사용하기

Comparable은 클래스에 Comparable를 implements하고 compareTo를 오버라이드 하여 구현합니다.

 

예시를 보겠습니다.

실행결과

compareTo에서

음수 or 0을 리턴할 시 두 객체의 위치가 바뀌지 않고,

1을 리턴 할 시 두 객체의 자리가 바뀝니다.

 


Comparator 사용하기

Comparator는 다른 기준으로 정렬하고 싶을시에 사용합니다. 

 

Comparator을 implement 한 Comp Class를 구현해 보겠습니다.

 

실행결과

Collections.sort를 할때 인수로 Comp객체를 넣어주면 해당 기준으로 정렬이 가능합니다. 

 


자바에서 정렬할 때 유용한 Comparable과 Comparator를 알아보았습니다.

 

프로그래밍 하며 정렬할 일이 많은만큼 알아두면 편리하게 정렬을 할 수 있습니다. 

 

728x90
반응형
250x250
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함