티스토리 뷰

카테고리 없음

[java] Collections.Sort()

현코로그 2022. 7. 31. 22:10

알고리즘을 풀다 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

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
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
글 보관함