Ho seguito i tuoi consigli e mi è uscito questo codice:
Classe Carta:
codice:
package gioco2;





public class Carta {
public String seme;    
public int valore;


Carta(String a,int b){
seme=a;
valore=b;
};


}
Classe giocatore:
codice:
package gioco2;


import java.util.ArrayList;
import java.util.List;




public class Giocatore {
List g;
Giocatore(int numerocarte, Mazzo mazzo){  //sceglie quante carte vuole e le estrae
g= new ArrayList();
for(int i=0;i<numerocarte;i++){
Carta tmp =mazzo.estraimazzo(); //estrae dal mazzo quante volte hai scelto di pescare
g.add(tmp);
}
}
}
Classe Mazzo:
codice:
package gioco2;import java.util.*;


public class Mazzo {
  Set mazzo; // inizializzo il mazzo;
  
  Mazzo(){ // creo un set mazzo, costruttore
  this.mazzo=  new HashSet();
  for(int i=1;i<11;i++){
      Carta c1= new Carta("Bastoni",i);
      mazzo.add(c1);
      Carta c2= new Carta("Spade",i);
      mazzo.add(c2);
      Carta c3= new Carta("Coppe",i);
      mazzo.add(c3);
      Carta c4= new Carta("Danari",i);
      mazzo.add(c4);
   }
  }
  Carta estraimazzo(){ //estraggo carta casuale dal mazzo
  Iterator x = mazzo.iterator();
  Object tmp=x.next();
  mazzo.remove(tmp);
  Carta res=(Carta)tmp;
  
  return res;
  }
}
Classe Briscola:
codice:
package gioco2;


import java.util.Comparator;


/**
 *
 * @author FinallyDou
 */
public class Briscola implements Comparator<Carta> {


    @Override
    public int compare(Carta o1, Carta o2) { //ordina prima per numero poi per seme
    int res=0;
    if(o1.valore<o2.valore) res=-1;
    else if(o1.valore==o2.valore){
         int x=o1.seme.compareTo(o2.seme);
         if(x<0) res=-1;
         else if(x==0) res=0;
         else res=1;
    }
    else res=1;
    return res;
    
    }
    
}
Classe Scopone:
codice:

package gioco2;


import java.util.Comparator;


/**
 *
 * @author FinallyDou
 */
public class Scopone implements Comparator <Carta> {


    @Override
    public int compare(Carta o1, Carta o2) {  //ordina prima per seme poi per numero
        int res=0;
        int x=o1.seme.compareTo(o2.seme);
        if(x<0) res=-1;
        else if(x==0)
            if(o1.valore==o2.valore) res=0;
            else if(o1.valore<o2.valore) res=-1;
        else
                res=1;
    return res;    
    }
    }
Classe Main:
codice:

package gioco2;


import javax.swing.JOptionPane;




public class Gioco2 {
    


    
    public static void main(String[] args) {
       Mazzo m = new Mazzo();
       Giocatore g = new Giocatore(Integer.parseInt(JOptionPane.showInputDialog("Quante carte vuoi?")),m);
       int risp=Integer.parseInt(JOptionPane.showInputDialog("1.Ordina briscola   2.Ordina scopa"));
       switch(risp){
           case 1:
               Briscola b = new Briscola();
               
               break;
           case 2:
               Scopone s = new Scopone();
               
               break;
       }
       
    }
    
}
L'esercizio chiedeva di ordinare le carte che pescavi secondo la briscola o scopone, nel main ho fatto un switch per scegliere tra le diverse modalità. Il mio dubbio è come faccio a dire al programma di restituirmi le carte che ho pescato? Ho provato un sort però mi da errore.
Scusa la mia ignoranza ma sono alle prime armi in java . Ti ringrazio per la pazienza