반응형
카드 정렬
Collections 클래스와 Comparable 인터페이스를 이용해 Card 리스트를 작은 순서로 정렬해봅시다.
룰은 다음과 같습니다:
- 슈트(suitNumber)가 높은 카드가 '더 크다'.
- 수트가 같은 경우, 랭크(rankNumber)가 더 높은 카드가 '더 크다'.
package Ex0309;
public class Card implements Comparable<Card> {
public final int suitNumber;
public final int rankNumber;
public Card(int suitNumber, int rankNumber) {
this.suitNumber = suitNumber;
this.rankNumber = rankNumber;
}
public String getSuit() {
switch (suitNumber) {
case 1:
return "Clubs";
case 2:
return "Diamonds";
case 3:
return "Hearts";
case 4:
return "Spades";
default:
return "";
}
}
public String getRank() {
switch (rankNumber) {
case 1:
return "Ace";
case 11:
return "Jack";
case 12:
return "Queen";
case 13:
return "King";
default:
return String.valueOf(rankNumber);
}
}
public String toString() {
return getRank() + " of " + getSuit();
}
@Override
public int compareTo(Card o) {
if (suitNumber == o.suitNumber) {
return rankNumber - o.rankNumber;
} else {
return suitNumber - o.suitNumber;
}
}
}
본 내용은 Codeit의 '자바 기초' 강의를
참고하여 작성한 내용입니다.
반응형
'Languages > Java' 카테고리의 다른 글
[자바 중급 개념] 03. 인터페이스와 추상 클래스 (0) | 2021.03.09 |
---|---|
[자바 중급 개념] 03. 인터페이스와 추상 클래스 (0) | 2021.03.09 |
[자바 중급 개념] 02. 캐스팅과 제네릭 (0) | 2021.03.09 |
[자바 중급 개념] 02. 캐스팅과 제네릭 (0) | 2021.03.08 |
[자바 중급 개념] 01. 상속 (0) | 2021.03.05 |