Articles of hashcode

Qual è la differenza tra `##` e `hashCode`?

Qual è la differenza tra i metodi ## e hashCode ? Sembra che stiano emettendo gli stessi valori, indipendentemente dal sovraccarico di class o hashCode che utilizzo. Anche Google non aiuta, dal momento che non riesce a trovare il simbolo ## .

Perché XOR viene spesso utilizzato in java hashCode () ma altri operatori bit a bit vengono usati raramente?

Spesso vedo il codice come int hashCode(){ return a^b; } Perché XOR?

Come implementare il metodo hashCode e equals

Come dovrei implementare hashCode() ed equals() per la seguente class in Java? class Emp { int empid ; // unique across all the departments String name; String dept_name ; String code ; // unique for the department }

Perché hashCode () può restituire lo stesso valore per oggetti diversi in Java?

Una citazione dal libro che sto leggendo Head First Java : Il punto è che gli hashcode possono essere gli stessi senza necessariamente garantire che gli oggetti siano uguali, perché potrebbe accadere che l’algoritmo di hashing utilizzato nel metodo hashCode() restituisca lo stesso valore per più oggetti. Perché il metodo hashCode() restituire lo stesso valore […]

Hashcode e uguale

equals e hashCode devono essere coerenti, il che significa che quando due oggetti sono uguali secondo il metodo equals loro metodo hashCode dovrebbe restituire lo stesso valore hash. Java restituisce un codice hash univoco se non si esegue l’override del metodo hashCode (). class HashValue { int x; public boolean equals(Object oo) { // if(oo […]

Probabilità di ottenere un valore duplicato quando si chiama GetHashCode () sulle stringhe

Voglio sapere la probabilità di ottenere valori duplicati quando si chiama il metodo GetHashCode() su istanze di string . Ad esempio, secondo questo post sul blog, blair e brainlessness hanno lo stesso hashcode (1758039503) su una macchina x86.

Perché Object.toString () predefinito restituisce una rappresentazione esadecimale di hashCode?

Sono curioso del perché Object.toString() restituisce questo: return getClass().getName() + “@” + Integer.toHexString(hashCode()); al contrario di questo: return getClass().getName() + “@” + hashCode(); Quali vantaggi offre l’hash code come esadecimale anziché decimale?

Raddoppia in HashMap

Stavo pensando di usare un Double come chiave per una HashMap ma so che i confronti in virgola mobile non sono sicuri, questo mi ha fatto riflettere. Anche il metodo equals sulla class Double è pericoloso? Se è così significherebbe che il metodo hashCode è probabilmente anche errato. Ciò significherebbe che usare Double come chiave […]

In che modo la JVM garantisce che System.identityHashCode () non cambierà mai?

In genere l’implementazione predefinita di Object.hashCode() è una funzione Object.hashCode() assegnata dell’object in memoria (sebbene questo non sia richiesto dal JLS ). Dato che la VM smuove gli oggetti in memoria, perché il valore restituito da System.identityHashCode() non cambia mai durante la vita dell’object? Se si tratta di un calcolo “one-shot” (l’ hashCode dell’object viene […]

qual è la differenza tra == operator ed equals ()? (con hashcode () ???)

Stavo imparando hashcode in modo più approfondito e ho capito che: 1. Se si esegue l’override di equals (), è necessario sovrascrivere anche hashcode (). 2. Per trovare se 2 oggetti sono lo stesso object, utilizzare l’operatore == Dati questi 2 fattori, in Java stavo assumendo che quando l’ == operator è usato per confrontare […]