Come posso avere una HashMap con chiavi univoche in Java? O forse ha senso avere delle chiavi univoche in HashMap o i tasti sono unici per impostazione predefinita? Sono un principiante. thxCome posso avere una HashMap con chiavi univoche in java?
risposta
I tasti sono unici in tutte le mappe. La differenza tra le varie implementazioni di mappe riguarda la possibilità di chiavi null, l'ordine di iterazione e problemi di concorrenza.
La chiave della mappa hash è unica. Aggiungi la chiave duplicata, quindi verrà sovrascritta.
HashMap hm = new HashMap();
hm.put("1", new Integer(1));
hm.put("2", new Integer(2));
hm.put("3", new Integer(3));
hm.put("4", new Integer(4));
hm.put("1", new Integer(5));// value integer 1 is overwritten by 5
Per impostazione predefinita, Hashmap non è sincronizzato.
così come facciamo a rendere la relazione di valore chiave non univoca, cioè, voglio anche il valore 5 per la chiave 1 sopra? C'è qualche metodo per servire allo scopo –
@VamsiPavanMahesh, dovrai memorizzare una sorta di 'Elenco' o 'Mappa' per quel corrispondente tasto'. 'Mappa
HasMap ha chiavi univoche. come .keySet() restituisce Set che ha membri unici
HashMap è una raccolta per memorizzare coppie (chiave, valore) e Secondo la documentazione di HashMap le chiavi sono sempre uniche.
Se si aggiunge una chiave già esistente (collisione) nella hashmap, il vecchio valore verrà sostituito.
Un'hashmap generica viene in genere implementata come un array associativo, quindi diciamo che il tuo array ha N elementi, da 0 a N-1, quando vuoi aggiungere una nuova coppia (chiave, valore), cosa è dietro il scene è (solo concettualmente):
- index = hash (key) mod N
- array [index] = valore
Così, per costruzione, una chiave viene mappato ad uno ed un solo voce dell'array.
Si prega di notare che in realtà è un po 'più complessa di questo: sto ignorando sulle cose scopo, come la gestione delle collisioni, rimasticare, ecc, si può avere una buona idea generale qui https://en.wikipedia.org/wiki/Hash_table
Prova a guardare il Java API for Map che è interfaccia che implementa HashMap
. La prima frase è:
Un oggetto che associa le chiavi ai valori. Una mappa non può contenere chiavi duplicate; ogni chiave può mappare al massimo un valore.
- 1. Prendi le chiavi dal HashMap in Java
- 2. Perché posso utilizzare le stringhe come chiavi in una HashMap?
- 3. Come creare chiavi univoche in KeystoneJS
- 4. Ordinati Mappa con chiavi non univoche
- 5. Perché sto ottenendo chiavi duplicate in Java HashMap?
- 6. Posso avere HashSet come chiave in una HashMap? Suggerisci un'alternativa se non
- 7. Chiavi univoche non riconosciute da Entity Framework
- 8. Come convertire stringa in HashMap in Java
- 9. Chiavi univoche in Entity Framework 4
- 10. Java XStream con HashMap
- 11. Come posso ordinare le chiavi di una mappa in Java?
- 12. Come posso utilizzare gli array MATLAB come chiavi per gli oggetti Java HashMap?
- 13. Loop Java HashMap come dizionario Python?
- 14. Oggetti immutabili e chiavi hashmap
- 15. Ottieni un'enumerazione (per le chiavi) di una mappa (HashMap) in Java?
- 16. Come mappare due array su una HashMap in Java?
- 17. per HashMap in java
- 18. Come ottenere la posizione chiave da una HashMap in Java
- 19. Eclipse avvertimento con Java HashMap
- 20. Java: chiave composta in hashmap
- 21. Coltivare una Hashmap di vettori in Matlab
- 22. Quando si assegnano chiavi univoche ai componenti, è corretto utilizzare Math.random() per generare quelle chiavi?
- 23. Perché la mia HashMap consente chiavi duplicate?
- 24. Come posso scorrere gli elementi in Hashmap?
- 25. Amazon S3 la creazione di chiavi univoche per ogni oggetto
- 26. Come posso creare un istogramma da una hashmap in python?
- 27. Recupera tutti i valori dalle chiavi HashMap in un ArrayList Java
- 28. Java: una hashmap può avere 4 parametri generici invece di 2?
- 29. L'ORM RedBean è in grado di creare chiavi univoche?
- 30. Per ogni ciclo su Java HashMap
Le chiavi _are_ sono univoche per impostazione predefinita. Nota che '.keySet()' su una 'Mappa' restituisce un' Set', e gli elementi di un 'Set' sono unici per impostazione predefinita. Se si tenta di inserire un valore in una chiave esistente, il vecchio valore verrà sovrascritto. – fge
nota che "univoco" in java significa uguale in termini di implementazione dei metodi equals e hashcode! – Hachi