PDA

View Full Version : [Java]Ordinare un ArraList formato da Stringhe


superjack81
21-05-2008, 09:59
Salve io possiedo un ArrayList riempito da stringhe e non riesco ad ordinarlo in maniera alfabetica...A-Z!!Mi potete aiutare spiegandomi come fare???
io ho provato ad usare Arrays.sort()....ma non ci sono riuscito,sicuramente sbaglio in qulacosa!!!Grazie:D :D

wingman87
21-05-2008, 10:12
Aggiungi [JAVA] all'inizio del titolo del thread.
Posta il codice cosi' vediamo dove sbagli

superjack81
21-05-2008, 10:21
il codice è molto lungo....perchè è parte di un programmino...
io ho il mio arraylist definito così:
ArrayList <Proteina> elenco;

Proteina è una classe formata così:

class Protein{
String pid;
public Protein(String id) {
this.pid=id;
}
}

-poi riempo il mio Arraylist di questi oggetti,e vorrei ordinalo in base alla stringa pid;

io ho provato dopo averlo riempito a scrivere Arrays.sort(elenco); ma non ottengo il risultato sperato.

thehuge
21-05-2008, 10:31
ArrayList non è un array, ma un sottotipo di List, che a sua volta è sottotipo di Collection.

Per ordinare un oggetto al di tipo ArrayList devi usareCollections.sort(al)

Per usare il metodo che hai usato tu, ovveroArrays.sort(array)
l'oggetto array deve essere di tipo String[], ovvero un array di stringhe (naturalmente puoi sostituire le stringhe con altro).

Per chiarimenti guarda qui (http://java.sun.com/j2se/1.4.2/docs/api/java/util/Collections.html#sort(java.util.List)) e qui (http://java.sun.com/j2se/1.4.2/docs/api/java/util/Arrays.html#sort(java.lang.Object[])).

superjack81
21-05-2008, 10:58
Con Collection.sort(); funziona per quanto riguarda l'ArrayList riempito di stringhe...però adesso ho un'altro problema, ho una classe così:

public class ArrayDinamico extends ArrayList {
ArrayList<proteina> elenco;

public ArrayDinamico() {
elenco =new ArrayList();
}
}


proteina ho spiegato nel post sopra come è fatta,ora facendo
ArrayDinamico primo=new ArrayDinamico();
riempendo questo oggetto con oggetti di tipo proteina,vorrei ordinarlo per ordine alfabetico....faccio....

Collections.sort(primo);

ma l'array non viene ordinato,rimane invariato.

superjack81
21-05-2008, 11:32
Sono riscito a risolvere....grazie mille per l'aiuto:D :D :D