Hi I have Card class... In another class I create an arrayList of Card objects. How would I go about sorting the arrayList based on the value of the card? The ace is the lowest card value and the king is the highest.
A,2,3,4,5,6,7,8,9,T,J,Q,K
public class Card {
char rank, suit;
public Card(char rank, char suit){
this.rank = rank;
this.suit = suit;
}
public void setCard(char rank, char suit){
this.rank = rank;
this.suit = suit;
}
public char getRank(){
return rank;
}
public char getSuit(){
return suit;
}
public void setRank(char rank){
this.rank = rank;
}
public void setSuit(char suit){
this.suit = suit;
}
public String toString(){
String str = "";
str += this.getRank();
str += this.getSuit();
return str;
}
public boolean equals(Object obj){
Card card = (Card) obj;
if(this.rank == card.getRank() && this.suit == card.getSuit()){
return true;
}
return false;
}
public boolean isValidCard(Card card){
char s = card.getSuit();
char r = card.getRank();
if(s=='H' || s=='S' || s=='D' || s=='C'){
if(r=='A' || r=='2' || r=='3' || r=='4' || r=='5' || r=='6' || r=='7' ||
r=='8' || r=='9' || r=='T' || r=='J' || r=='Q' || r=='K'){
return true;
}
}
return false;
}
public boolean allowedInHigherPiles(Card card, Game game, int pile){
if(pile>=5 && game.getPile(pile).cards.size()==0){
if(card.getRank()!='K')
return false;
}
return true;
}
}