Salve ragazzi.
Io ho un Map e dovrei ordinarlo, come posso fare?
Devo visualizzare in ordine crescente in un frame la chiava e il suo valore.
Grazie a tutti quelli che mi rispondono.
Salve ragazzi.
Io ho un Map e dovrei ordinarlo, come posso fare?
Devo visualizzare in ordine crescente in un frame la chiava e il suo valore.
Grazie a tutti quelli che mi rispondono.
Che classe stai utilizzando per l'implementazione della tua Map? Per esempio
http://java.sun.com/j2se/1.4.2/docs/...l/TreeMap.html
Tiene già la struttura ordinata.
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Scusami sono stato poco chiaro. Uso un HashMap.
Io vorrei ordinare il mio map per VALORI non per chavi.
Capito? Grazie.
Mica facile. Che genere di valori sono contenuti (ie: che cosa sono chiave e valore? Stringhe? interi?)
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Sono oggetti.
Prima di essere oggetti la chiave era stringa
e il valore intero.
In pratica ho n file e devo contare quante volte una parola ci sta in quel file. E falli apparire in ordine crescente.
Grazie ciao
Mi pare di Capire che vuoi una corrispondenza di un valore a un oggetto?Una lista ordinata con una corrispondenza tra naturalie oggetti.
Puoi usare Vector o anche ArrayList, se non dovrai usare altri Thread al di fuori del principale(o comunque non più di uno contemporaneamente sugli oggetti della classe Vector o ArrayList) usa pure la seconda che non essendo sincronizzata è più performante.
Ciao.
Non avevo letto bene ordinare per valori? Se non esiste una relazione di ordinamento tra gli oggetti che usi come valori non lo puoi fare, tra l'altro ti bsta invertire il ruolo chiave valore.
Che cosa stampa questo:
Se è solo per visualizzazione e ti trovi con qualcosa del tipo:codice:Object[] ob = tuaHashMap.entrySet().toArray(); for (int i = 0; i < ob.length; i++) { System.out.println(ob[i]); }
potresti semplicemente convertire a String e invertire le parti a sinistra con quelle a destra del simbolo "=", a quel punto utilizzi un qualsiasi metodo di ordinamento per String (oppure crei un array di String e usi java.utils.Arrays.sort)codice:casa=3 e=29 mela=1 ...
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Il problema è che Hashmap sovrascriverebbe il valore precente ad un successivo inserimento di una coppia chiave-valore in caso di chiave già esistente, per cui l'inversione chiave-valore non garantisce che i dati siano mantenuti.Originariamente inviato da salvio78
[...] tra l'altro ti bsta invertire il ruolo chiave valore.
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
Ma se uso l'arrayList posso ordinare i valori, ma poi come faccio a sapere che quel valore è associato a quella chiave? a me serve sapere anche il valore a quale chiave è associata.
Grazie dell'aiuto.
Scusate questo l'avevo scritto prima di leggere.