import java.util.*; //Class to represent a "generic" hand of playing-cards public class PlayingCardHand { //Instance Variables private int cardsInCompleteHand; //Maximum # cards in this hand private ArrayList hand; //A hand of Playing-Cards private Comparator comparer; //Client-provided comparison of PlayingCards //Constructor //Appropriate when PlayingCard compareTo() is to be used to compare PlayingCards public PlayingCardHand(int handSize) { } //Helper: Compare 2 PlayingCards // if this.comparer is null, comparison uses compareTo() // otherwise the Comparator is applied private int compare(PlayingCard one, PlayingCard two) { return 0; } //Accessor: return # of cards currently in this hand public int getNumberOfCards() { return 0; } public boolean isComplete() { return false; } //Accessor: return COPIES of the cards in this hand public PlayingCard[] getCards() { return null; } //Mutator: allows a client to provide a comparison method for PlayingCards public void setComparer(Comparator comparer) { } //Mutator: Append a new card to this hand public void appendCard(PlayingCard card) { } //Mutator: Insert a new card into this hand // Ascending order of the cards is maintained public void insertCard(PlayingCard card) { } //Mutator: remove a matching card from this hand // PlayingCardHand is unchanged if it does not contain a matching card public void removeCard(PlayingCard card) { } //Mutator: remove and return all cards from this hand // On return, this hand is left empty. public PlayingCard[] fold() { return null; } //Mutator: Arrange the cards of this hand into sorted order public void sortCards() { } //Override: return a printable image of this hand public String toString() { return ""; } }