title: Java Sorting object in ArrayList
body: <p>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.</p>
  
  <p>A,2,3,4,5,6,7,8,9,T,J,Q,K</p>
  
  <pre><code>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() &amp;&amp; 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&gt;=5 &amp;&amp; game.getPile(pile).cards.size()==0){
                  if(card.getRank()!='K')
                          return false;
          }
          return true;
      }
  
  }
  </code></pre>