Ho bisogno di una collezione che si comporta come C++ multimap, ma devo anche essere in grado di ottenere elementi da una serie di chiavi.Esiste una raccolta java ordinata che gestisce i duplicati?
risposta
Non esiste una raccolta multimap incorporata in Java. Per risolvere questo è possibile mappare ad ogni chiave un elenco di valori: Map<String, List<String>>
, ad esempio. Altrimenti ci sono librerie di terze parti con multimaps implementati - here è uno di questi.
È possibile esaminare Google Collections. Ha implementazioni multiple per MultiMap
.
C'è un semplice trucco attorno alla creazione di collezioni ordinabili multimap in java ... Usa la serie di dati TreeMap e per le chiavi inserisci il tasto * 10^4 + contatore. In questo modo si memorizzano i valori chiave duplicati nella mappa (aggiungendo contatore non sono effettivamente duplicati, quindi è possibile memorizzare in treeMap, ma si sa di non utilizzare le ultime quattro cifre dei valori della chiave intera), tuttavia il set di dati è essere ordinati utilizzando i valori chiave originali. Si noti che a seconda di quanto grande è il set di dati, è possibile che si desideri regolare 10^n per assicurarsi che sia più grande del numero di voci nei dati.
- 1. Che cos'è una raccolta java?
- 2. PublicKey che gestisce Java/PHP
- 3. Ricerca di duplicati in una raccolta
- 4. Hibernate inserisce i duplicati in una raccolta @OneToMany
- 5. Esiste un IDE C++ che gestisce bene i modelli?
- 6. Java Rimuovere i duplicati da una matrice?
- 7. In che modo Java gestisce i campi durante l'upcasting?
- 8. Trova duplicati in una sequenza non ordinata in modo efficiente
- 9. java: restituire una raccolta
- 10. Meteor: pubblica una raccolta ordinata in base al punteggio personalizzato
- 11. Java 8 Stream - .max() con i duplicati
- 12. Esiste una raccolta limitata non bloccante in Java?
- 13. Come creare una raccolta parallela Scala da una raccolta Java
- 14. Più thread che modificano una raccolta in Java?
- 15. Hibernate/JPA: duplicati nella raccolta figli
- 16. Ricerca in una matrice non ordinata
- 17. Esiste un'alternativa più ordinata a "except: pass`?
- 18. In akka-stream come creare una fonte non ordinata da una raccolta futures
- 19. Laravel - L'output di raccolta ordinata non è un array
- 20. Ordinato per contro Sort per la creazione di raccolta ordinata
- 21. Conversione di una raccolta Java di una classe in una raccolta di stringhe
- 22. controllo MongoDB 3 Java se la raccolta esiste
- 23. Trova tutti i documenti duplicati in una raccolta MongoDB da un campo chiave
- 24. Una raccolta che rappresenta una concatenazione di due raccolte in Java
- 25. Confronto veloce di una stringa con una raccolta in Java
- 26. Raccolta thread-safe senza ordine e senza duplicati
- 27. Esiste una libreria Java comune che gestirà la codifica/decodifica degli URL per una raccolta di stringhe?
- 28. riferimento a oggetti java su una mappa ordinata per indice?
- 29. Esiste un'alternativa a Dictionary/SortedList che consente duplicati?
- 30. Esiste uno strumento che rileva GUID di interfaccia duplicati?
In particolare. la classe TreeMultimap di Google Collections include un metodo asMap() che restituisce una SortedMap. È quindi possibile chiamare metodi come SortedMap.subMap() per recuperare i mapping per un intervallo di chiavi. –
Google Collections è ora [Guava] (http://code.google.com/p/guava-libraries/) – Muhd