Warum wird gethashcode in C verwendet?

Inhaltsverzeichnis:

Warum wird gethashcode in C verwendet?
Warum wird gethashcode in C verwendet?

Video: Warum wird gethashcode in C verwendet?

Video: Warum wird gethashcode in C verwendet?
Video: How did the Enigma Machine work? 2024, Dezember
Anonim

GetHashCode existiert hauptsächlich für einen Zweck: als Hash-Funktion zu dienen, wenn das Objekt als Schlüssel in einer Hash-Tabelle verwendet wird. … Eine Hash-Tabelle ist eine Datenstruktur, die einem Schlüssel einen Wert zuordnet.

Was ist der Zweck von GetHashCode?

Die GetHashCode-Methode stellt diesen Hash-Code für Algorithmen bereit, die eine schnelle Überprüfung der Objektgleichheit benötigen Für Informationen darüber, wie Hash-Codes in Hash-Tabellen verwendet werden, und für einige zusätzliche Hash-Code-Algorithmen, siehe den Hash-Funktionseintrag in Wikipedia. Zwei gleiche Objekte geben gleiche Hash-Codes zurück.

Muss ich GetHashCode implementieren?

Es ist wichtig, sowohl equals als auch gethashcode zu implementieren, aufgrund von Kollisionen, insbesondere bei der Verwendung von Wörterbüchern. Wenn zwei Objekte denselben Hashcode zurückgeben, werden sie mit Verkettung in das Wörterbuch eingefügt. Beim Zugriff auf das Element wird die Equals-Methode verwendet.

Wann sollten wir GetHashCode überschreiben?

Wenn Sie einen Referenztyp implementieren, sollten Sie erwägen, die Equals-Methode zu überschreiben, wenn Ihr Typ wie ein Basistyp aussieht, wie z. B. Point, String, BigNumber und so weiter. Überschreiben Sie die GetHashCode-Methode, damit ein Typ in einer Hash-Tabelle korrekt funktioniert Lesen Sie weitere Anleitungen zu Gleichheitsoperatoren.

Was ist ein Hash im Code?

Hashing ist einfach einige Daten durch eine Formel zu leiten, die ein Ergebnis erzeugt, Hash genannt. Dieser Hash ist normalerweise eine Zeichenfolge und die von einer Formel generierten Hashes haben immer die gleiche Länge, unabhängig davon, wie viele Daten Sie eingeben. Beispielsweise erzeugt die MD5-Formel immer 32 Zeichen lange Hashes.

Empfohlen: