728x90
Comparable<E> 이용한 정렬
Comparable
인터페이스를 implements
하고 추상 메서드인 compareTo
를 구현해야 한다.compareTo
의 리턴 값이 양수라면 오름차순으로 정렬하고 음수라면 내림차순으로 정렬한다.
내림차순 정렬
public class SortTest {
static class Pair implements Comparable<Pair> {
int first;
public Pair(int first, int second) {
this.first = first;
this.second = second;
}
int second;
@Override
public int compareTo(Pair p) {
return p.first - this.first;
}
}
@Test
void sortTest() {
Pair[] pair = new Pair[3];
pair[0] = new Pair(5, 1);
pair[2] = new Pair(192, 2);
pair[1] = new Pair(2193, 3);
Arrays.sort(pair);
}
}
오름차순 정렬
public class SortTest {
static class Pair implements Comparable<Pair> {
int first;
public Pair(int first, int second) {
this.first = first;
this.second = second;
}
int second;
@Override
public int compareTo(Pair p) {
return this.first - p.first;
}
}
@Test
void sortTest() {
Pair[] pair = new Pair[3];
pair[0] = new Pair(5, 1);
pair[2] = new Pair(192, 2);
pair[1] = new Pair(2193, 3);
Arrays.sort(pair);
}
}
728x90
'Algorithm > Note' 카테고리의 다른 글
[Python] 리스트에서 객체 및 튜플 정렬 (0) | 2022.06.14 |
---|---|
[IntelliJ] 인텔리제이 단축키 (mac 기준) (0) | 2022.04.12 |
[Java] 코테 준비 - binary to decimal과 decimal to binary (0) | 2022.02.20 |
[Java] Map for-each문 사용 방법 (0) | 2022.02.08 |
[C++] 코테 준비 - 문자열 분리 (0) | 2022.02.08 |