PDA

View Full Version : [Java]


max246
08-05-2007, 08:52
Ok ho un'altro problema ... ( sempre a rompere eheh )

Ho il mio ArrayList che contiene la classe DATI


public class Dati {
private String nomi;
private String utenti;
private String dominio;
/** Creates a new instance of Dati */
public Dati(String dato,String d) {
String[] nome2 = dato.split(",");
String[] nome3 = nome2[nome2.length-1].split(":");
nomi = nome2[0].substring(3);
utenti = nome3[1];
dominio = d;
}
public String GetNome() {
return nomi;
}
public String GetUser() {
return utenti;
}
public String GetDominio() {
return dominio;
}

}


Vorrei sortare il mio arraylist per il GetNome, ricordo vagamente che si puo usare una personalizzazione tipo Comparator ma non riesco a ricordare :P

Ho provato con Collections.sort(Arraylist...); ma si incazza.

:mc:

andbin
08-05-2007, 09:07
Vorrei sortare il mio arraylist per il GetNome, ricordo vagamente che si puo usare una personalizzazione tipo Comparator ma non riesco a ricordare :PMetti:
public class Dati implements Comparable<Dati> {
...

public int compareTo (Dati d)
{
return nomi.compareTo (d.GetNome());
}
}

P.S.: un titolo pił appropriato?

max246
08-05-2007, 09:27
Humz implementarlo dentro?

Collections.sort(ArrayList, new metodo.. ) ?


Mi spiace ma il nome del topic non ho potuto piu cambiarlo :S

andbin
08-05-2007, 09:42
Humz implementarlo dentro?

Collections.sort(ArrayList, new metodo.. ) ?di sort() nella classe Collections ce ne sono due: uno prende solamente un List (gli elementi devono implementare Comparable) e l'altro prende un List e un Comparator.

Se vuoi usare un Comparator (e quindi non implementare nulla nella classe Dati) puoi fare tutto con una classe anonima.

Collections.sort (tuoArrayList, new Comparator<Dati>() {
public int compare (Dati a, Dati b) {
return a.GetNome().compareTo (b.GetNome());
}
});

max246
08-05-2007, 10:12
GRazie!! :D funziona tutto!!