Ciao, come ordino una Collection ? Per esempio
Codice PHP:Collection<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(1);
list.add(6);
System.out.println(list);
come la ordino? grazie
Ciao, come ordino una Collection ? Per esempio
Codice PHP:Collection<Integer> list = new ArrayList<Integer>();
list.add(3);
list.add(1);
list.add(6);
System.out.println(list);
come la ordino? grazie
Collections.sort(tuaLista);Originariamente inviato da SasaSelvaggio
come la ordino?
Nota: la variabile deve essere List (o sottotipo), non Collection che è più generico.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Se è collection o un'arraylist?
Cioè ho un'ArrayList di tipo classe e all'interno della classe ho un id, un nome, un cognome etc, quindi voglio che
ArrayList <Classe> lista = new ArrayList<Classe>();
venga ordinata in base all'id...devo crearmi un comparator, come si fa?
Ci sono 2 interfacce: Comparable e Comparator. La prima va implementata nella classe degli oggetti da comparare, la seconda va implementata in una classe separata. Se ne deduce facilmente che per una certa classe si può avere solo 1 ordinamento con Comparable (e tale ordinamento viene generalmente definito il "natural" ordering ... l'ordinamento naturale degli oggetti) mentre si possono fare tutte le classi che vuoi che implementano Comparator<TuoTipo> per definire qualunque altro ordinamento.Originariamente inviato da SasaSelvaggio
Cioè ho un'ArrayList di tipo classe e all'interno della classe ho un id, un nome, un cognome etc, quindi voglio che
ArrayList <Classe> lista = new ArrayList<Classe>();
venga ordinata in base all'id...devo crearmi un comparator, come si fa?
L'ordinamento per id è il tuo ordinamento "naturale"? Dipende dal significato della tua classe. Se fosse una classe es. Persona, vedendo che ha nome/cognome, allora l'ordinamento naturale potrebbe essere, meglio ancora, cognome/nome.
Ma questo vedilo tu ....
Se vuoi usare Comparable, implementa Comparable<TuoTipo> dentro TuoTipo e definisci il metodo: public int compareTo(TuoTipo altro).
Se vuoi usare Comparator, implementa Comparator<TuoTipo> in un'altra classe e definisci il metodo: public int compare(TuoTipo a, TuoTipo b)
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
Risolto ^^ thanks^^.