Salve a tutti! Ho un problema con l'ordinamento (che sia crescente o decrescente al momento poco mi interessa) di un ArrayList.
Ho provato implementando l'interfaccia Comparable, non riesco (probabilmente sbaglierò qualcosa boh)
Vi posto il codice delle classi..

codice:
public class Invitato extends Persona {    
    private int id;
    private String tipo;


    public Invitato(String cognome, String nome, String sesso, int eta, int id, String tipo) {
        super(cognome, nome, sesso, eta);
        this.id = id;
        this.tipo = tipo;
    }
    
    public void setID(int id) {
        this.id = id;
    }


    public void setTipo(String tipo) {
        this.tipo = tipo;
    }
    
    public int getID() {
        return id;
    }


    public String getTipo() {
        return tipo;
    } 
}
codice:
 public class ElencoRegali extends ArrayList<Regalo> {    
       /** metodo per l'inserimento dei regali */
    public void addRegalo(String tipo, float prezzo, String info) {
        Regalo re = new Regalo(tipo, prezzo, info);
        this.add(re);
    }
    
    public void setTipo(String tipo, int i){
        Regalo temp;
        temp = (Regalo) this.get(i);
        temp.setTipo(tipo);        
    } 


    public void setPrezzo(float prezzo, int i){
        Regalo temp;
        temp = (Regalo) this.get(i);
        temp.setPrezzo(prezzo);        
    } 
    
    public void setInfo(String info, int i){
        Regalo temp;
        temp = (Regalo) this.get(i);
        temp.setInfo(info);        
    }
    
    public String getTipo(int i){
        Regalo temp;
        temp = (Regalo) this.get(i);
        return temp.getTipo();
    }
    
    public float getPrezzo(int i){
        Regalo temp;
        temp = (Regalo) this.get(i);
        return temp.getPrezzo();
    }
    
    public String getInfo(int i){
        Regalo temp;
        temp = (Regalo) this.get(i);
        return temp.getInfo();
    }
}