Sto usando un HashMap
. Quando eseguo un'iterazione sulla mappa, i dati vengono restituiti in ordine casuale (spesso lo stesso). Ma i dati sono stati inseriti in un ordine specifico e ho bisogno di mantenere l'ordine di inserimento. Come posso fare questo?Come conservare l'ordine di inserzione in HashMap?
risposta
LinkedHashMap
è esattamente quello che stai cercando.
È esattamente come HashMap
, con la differenza che quando si esegue iterazione su di esso, vengono visualizzati gli articoli nell'ordine di inserimento.
in base al documento java si dice: questo elenco collegato definisce l'ordine di iterazione, che è normalmente l'ordine in cui le chiavi sono state inserite nella mappa. NORMALMENTE ????? cosa significa? l'inserimento dell'ordine non è garantito .... – Xenione
@Xenione: Puoi scegliere tra l'ordine di inserimento e l'ordine di accesso. Vedere l'ultimo argomento per http://bit.ly/1jZXlCl – NPE
@Xenione [Si noti che l'ordine di inserimento non è influenzato se una chiave viene reinserita nella mappa], quando una chiave viene messa due volte la seconda la muta non cambia l'ordine così iterativo non è esattamente l'ordine di inserimento a causa della unicità delle chiavi; normalmente significa che se le chiavi sono univoche i costruttori –
HashMap
è ordinata per la seconda linea della documentazione:
Questa classe non fornisce alcuna garanzia per quanto riguarda l'ordine della mappa; in particolare, non garantisce che l'ordine rimanga costante nel tempo.
Forse si può fare come suggerisce aix e utilizzare uno LinkedHashMap
o un'altra raccolta ordinata. This link can help you find the most appropriate collection to use.
- 1. Errore di ordinamento inserzione
- 2. Ordinamento inserzione nella lista collegata in C?
- 3. Come conservare i clienti in un elenco
- 4. Struttura entità ordine di inserzione riga
- 5. Collezioni Java che mantengono l'ordine di inserzione
- 6. come analizzare xml in hashmap?
- 7. ArrayList come chiave in Hashmap
- 8. Come conservare i caratteri come in MySQL
- 9. Conversione di HashMap in ArrayList
- 10. HashMap in gestore di persistenza
- 11. Inserzione solo le sotto cartelle in un secchio S3
- 12. Come convertire stringa in HashMap in Java
- 13. Double in HashMap
- 14. Come per ogni hashmap?
- 15. Come conservare dizionario in HDF5 dataset
- 16. Come conservare informazioni geospaziali in MongoDB
- 17. come conservare printf in una variabile?
- 18. Come conservare i cookie in node-webkit
- 19. Come conservare il testo lungo in Android?
- 20. Risoluzione collisione in HashMap
- 21. per HashMap in java
- 22. Come utilizzare correttamente HashMap?
- 23. Persist HashMap in ORMLite
- 24. Come conservare printStackTrace in una stringa
- 25. Implementazione di una HashMap
- 26. HashMap Android in bundle?
- 27. Come conservare rubino blocchi di codice
- 28. Metodo di restituzione HashMap
- 29. Come conservare la trasparenza png?
- 30. utilizzando boost multi_index_container per preservare l'ordine di inserzione
http://docs.oracle.com/javase/7/docs/api/java/util/LinkedHashMap.html –