Articles of hashcode

Hashcode ed è uguale per Hashset

Per favore chiarisci il mio dubbio su Hashset. Considera il seguente codice, class Person { String name; Person(String n) { name=n; } public String getName() { return name; } @Override public boolean equals(Object arg0) { System.out.println(“in equals”); Person obj=(Person)arg0; System.out.println(“1st “+getName()); System.out.println(“2nd “+obj.getName()); if(this.getName().equals(obj.getName())) { return true; } return false; } @Override public int hashCode() […]

Perché la cache hashCode () di String non è 0?

Ho notato nel codice sorgente Java 6 per String che hashCode memorizza solo valori diversi da 0. La differenza di prestazioni è esibita dal seguente snippet: public class Main{ static void test(String s) { long start = System.currentTimeMillis(); for (int i = 0; i < 10000000; i++) { s.hashCode(); } System.out.format("Took %d ms.%n", System.currentTimeMillis() – […]

Come si ottiene il “riferimento all’object” di un object in java quando toString () e hashCode () sono stati sovrascritti?

Vorrei stampare il “riferimento all’object” di un object in Java per scopi di debug. Vale a dire che l’object è lo stesso (o diverso) a seconda della situazione. Il problema è che la class in questione eredita da un’altra class, che ha cancellato sia toString () che hashCode () che di solito mi danno l’id. […]

Linee guida GetHashCode in C #

Ho letto nel libro Essential C # 3.0 e .NET 3.5 che: I ritorni di GetHashCode () sulla vita di un object particolare dovrebbero essere costanti (lo stesso valore), anche se i dati dell’object cambiano. In molti casi, dovresti memorizzare nella cache il metodo return per far rispettare questo. È una linea guida valida? Ho […]

Implementazione di HashCode di Java Array

Questo è strano Un collega ha chiesto informazioni sull’implementazione di myArray.hashCode () in java. Pensavo di saperlo, ma poi ho fatto alcuni test. Controlla il codice qui sotto. La cosa strana che ho notato è che quando ho scritto il primo sys i risultati erano diversi. Nota che è quasi come se stesse riportando un […]

Come viene calcolato hashCode () in Java

Quale valore sta restituendo il metodo hashCode() in java? Ho letto che si tratta di un riferimento di memoria di un object … Quando stampo il valore di hash per il new Integer(1) è 1; for String(“a”) è 97. Sono confuso: è ASCII o che tipo di valore è?

Coerenza di hashCode () su una stringa Java

Il valore hashCode di una stringa Java è calcolato come ( String.hashCode () ): s[0]*31^(n-1) + s[1]*31^(n-2) + … + s[n-1] Ci sono circostanze (ad esempio, versione JVM, fornitore, ecc.) In base alle quali la seguente espressione valuterà in falso? boolean expression = “This is a Java string”.hashCode() == 586653468 Aggiornamento n. 1: se affermi […]

Come funzionano hashCode () e identityHashCode () nel back-end?

Come funzionano Object.hashCode() e System.identityHashCode() nel back-end? identityHashCode() restituisce il riferimento dell’object? hashCode() dipende dal? dell’object? == operatore come lavorare nel back-end. Qual è la differenza tra hashCode() e identityHashCode() ?

Qual è l’uso di hashCode in Java?

In Java, obj.hashCode() restituisce un valore. Qual è l’uso di questo codice hash nella programmazione?

Indirizzo di memoria delle variabili in Java

Si prega di guardare l’immagine qui sotto. Quando creiamo un object in java con una nuova parola chiave, riceviamo un indirizzo di memoria dal sistema operativo. Quando scriviamo out.println(objName) possiamo vedere una stringa “speciale” come output. Le mie domande sono: Cos’è questa uscita? Se si tratta di un indirizzo di memoria fornito dal sistema operativo: […]