티스토리 뷰
알고리즘을 풀다 Collections.Sort()가 무슨 기준으로 정렬이 되는지 궁금했다.
결론
- Comparable 인터페이스를 구현한 후, 오버라이드한 compare() 함수에 따라 정렬을 하는 것!
- String
: 사전 순
- 사용자가 정의한 클래스
어떤 변수를 기준으로 정렬해야할 지 모르기 때문에 개발자가 지정해주어야함
-> Comparable 인페의 compare() 함수를 오버라이딩
파라미터로 전달된 객체가 작으면 양의정수
같으면 0
크면 음의정수 리턴
class Team implements Comparable<Team>{
int nation, gold, silver, bronze, rank;
public Team(int nation, int gold, int silver, int bronze){
this.nation = nation;
this.gold = gold;
this.silver = silver;
this.bronze = bronze;
}
@Override
public int compareTo(Team g) {
if(this.gold == g.gold){ //금
if(this.silver == g.silver){ //은
return this.bronze - g.bronze;
}
return this.silver - g.silver;
}
return this.gold - g.gold;
}
}
https://wjheo.tistory.com/entry/Java-%EC%A0%95%EB%A0%AC%EB%B0%A9%EB%B2%95-Collectionssort
Java 정렬방법 Collections.sort()
- Java 정렬 방법 Java 에서의 정렬은 java.util.Collections클래스의 static 메소드인 sort()를 이용한다. 먼저, API문서를 살펴보면 오버로딩 된 두개의 sort() 메소드가 있음을 확인할 수 있다. 차례대로 알
wjheo.tistory.com
댓글