Comparable vs Comparator
📍 Comparable - int compareTo(T other)
- 자신과 인자로 받는 타 원소와 비교해 정수 리턴
(양수 : 오름차순 정렬 / 음수 : 내림차순 정렬 / 0 : 같음)
- 정렬 기준이 여러 개
- 원래 클래스, 실전 클래스에 영향을 미쳐 수정된다.
class Node implements Comparable<Node> {
int s, e; // 시작점, 끝점
public Node(int s, int e) {
this.s = s; // this는 현재 객체
this.e = e;
}
@Override
public int compareTo(Node n) { // 시작점 기준 오름차순 정렬
return this.s - n.s;
}
}
// 람다식 ver.) Arrays.sort(arr, (a, b) -> a.s - b.s);
📍 Comparator - int compare(T o1, T o2)
- 외부 정렬 기준
- 단일 기준
- 두 원소 비교해 정수 리턴
(양수 : 오름차순 정렬 / 음수 : 내림차순 정렬 / 0 : 같음)
- 원래 클래스에 영향을 미치지 않는다.
Arrays.sort(arr, new Comparator<Node> {
@Override
public int compare(Node a, Node b) {
return a.s - b.s;
}
});
(참고)
[Java] Comparable, Comparator, 정렬 방법
필자는 무언가 정렬을 잘 못하는것을 최근 깨달았다. 그래서 이번에는 자바에서 정렬을 하는 방법을 학습하려고 한다. 이게 이런게 참 기초이지만 모르는다는것에 부끄러움을 사알짝 느끼면서
tech-monster.tistory.com
자바 [JAVA] - Comparable 과 Comparator의 이해
아마 이 글을 찾아 오신 분들 대개는 Comparable과 Comparator의 차이가 무엇인지 모르거나 궁금해서 찾아오셨을 것이다. 사실 알고보면 두 개는 그렇게 어렵지 않으나 아무래도 자바를 학습하면서 객
st-lab.tistory.com
Java: Comparable(compareTo())와 Comparator(compare())의 차이점
Java: Comparable(compareTo())와 Comparator(compare())의 차이점 오버라이딩과 오버로딩을 헷갈려하던 시절처럼 나란 녀석은 Comparable과 Comparator / compareTo()와 compare()를 계속 헷갈려하는 것이다... 더이상의 뇌
sslblog.tistory.com
CompareTo 와 Compare 메소드
java.lang.Comparable int compareTo(T other) 자신과 인자로 전달받는 타 원소와 비교하여 정수를 리턴한다. 음수 결과: 타 원소가 크다. 0 결과 : 두 원소가 같다. 양수 결과 : 자신이 크다. java.util.Comparator int
velog.io
Comparable, Comparator 차이
Comparable은 Java.lang package에 있는 인터페이스이며 정렬을 위해 사용되는데, 보통 기본형(Primitive Type)을 정렬하는데 사용하지는 않습니다.Comparable을 사용하는것은 객체(Object)의 정렬기준을 만들어
velog.io
compareTo()
Java - compareTo(), 객체 크기 비교
compareTo() 함수를 사용하여 숫자, 문자열 등의 객체를 비교할 수 있습니다. A.compareTo(B)의 결과 값으로 결과 값으로 0, 양수, 음수가 리턴될 수 있으며, 아래와 같은 의미를 갖고 있습니다. 자신이
codechacha.com