Sì.Originariamente inviato da vincyilbiondo
Quindi se ho capito: se uso la HashMap o la LinkedHashMap devo implementare questi due metodi nella classe della Chiave
Per HashMap/LinkedHashMap no. Se ti serve implementarli anche per i valori per altri motivi ... ok.Originariamente inviato da vincyilbiondo
(ed eventualmente anche nella classe del Valore)
Sì, restano equals/hashCode di Object che si basano solo sulla "identità" degli oggetti (in pratica sui reference).Originariamente inviato da vincyilbiondo
se non implemento questi due metodi poiché non sà come confrontare le chiavi, mi compara i riferimenti delle chiavi.
TreeMap non è una "hash table". Ma è un albero binario. E l'ordinamento/ricerca delle chiavi si basa su Comparable o Comparator.Originariamente inviato da vincyilbiondo
Ho provato però lo stesso programma usando una TreeMap, senza implementare i metodi hashcode() e equals() e funziona bene. Forse perchè con la TreeMap si deve fornire un comparatore per effettuare l'inserimento in ordine, e quindi in questo modo vede anche se è presente già la stessa chiave?

