Die Funktion „hashCode“ wird verwendet, um den Hash-Code eines Objekts in Java abzurufen. Dies ist ein Objekt der Oberklasse Object. Es gibt den vom Objekt referenzierten Speicher als Ganzzahl zurück. Es handelt sich um eine native Funktion, was bedeutet, dass Methoden in Java nicht direkt verwendet werden können, um eine Referenz auf ein Objekt zu erhalten.
Um die Leistung von HashMap zu verbessern, verwenden Sie bitte hashCode() korrekt. Grundsätzlich wird diese Funktion zur Berechnung von Bucket- und Indexwerten verwendet. So ist es definiert:
public native hashCode()
Da wir nun „Eimer“ erwähnt haben, ist es wichtig zu verstehen, was es bedeutet. Es ist das Element, das zum Speichern von Knoten verwendet wird. Ein Bucket kann mehr als zwei Knoten enthalten. Knoten können mithilfe einer verknüpften Listendatenstruktur verbunden werden. Die Kapazität einer Hashmap kann nach Bucket und Auslastungsfaktor berechnet werden.
Capacity = number of buckets * load factor
Die Funktion „equals“ wird verwendet, um die Gleichheit zwischen zwei Objekten zu überprüfen. Es wird auch durch die Oberklasse Object gegeben. Diese Funktion kann in einer benutzerdefinierten Klasse überschrieben werden, indem eine benutzerdefinierte Implementierung bereitgestellt wird. Diese Funktion gibt true oder false zurück, je nachdem, ob die beiden betreffenden Objekte gleich sind.
Generieren Sie Indexwerte, damit die Größe des Arrays nicht sehr groß ist, und vermeiden Sie so eine OutOfMemoryException. Die Formel zum Ermitteln des Index eines Arrays lautet: -
Index = hashCode(key) & (n-1) – Here n refers to number of buckets.
Sehen wir uns ein Beispiel an -
Beispiel
Live-Demonstration
import java.util.HashMap; class hash_map{ String key; hash_map(String key){ this.key = key; } @Override public int hashCode(){ int hash = (int)key.charAt(0); System.out.println("The hash code for key : " + key + " = " + hash); return hash; } @Override public boolean equals(Object obj){ return key.equals(((hash_map)obj).key); } } public class Demo{ public static void main(String[] args){ HashMap my_map = new HashMap(); my_map.put(new hash_map("This"), 15); my_map.put(new hash_map("is"), 35); my_map.put(new hash_map("a"), 26); my_map.put(new hash_map("sample"), 45); System.out.println("The value for key 'this' is : " + my_map.get(new hash_map("This"))); System.out.println("The value for key 'is' is: " + my_map.get(new hash_map("is"))); System.out.println("The value for key 'a' is: " + my_map.get(new hash_map("a"))); System.out.println("The value for key 'sample' is: " + my_map.get(new hash_map("sample"))); } }
Ausgabe
The hash code for key : This = 84 The hash code for key : is = 105 The hash code for key : a = 97 The hash code for key : sample = 115 The hash code for key : This = 84 The value for key 'this' is : 15 The hash code for key : is = 105 The value for key 'is' is: 35 The hash code for key : a = 97 The value for key 'a' is: 26 The hash code for key : sample = 115 The value for key 'sample' is: 45
Die Klasse mit dem Namen „hash_map“ definiert einen String und einen Konstruktor. Dies wird durch eine andere Funktion namens „hashCode“ überschrieben. Hier werden die Hashmap-Schlüsselwerte in Ganzzahlen umgewandelt und der Hash-Code gedruckt. Als nächstes wird die Funktion „equals“ überschrieben und prüft, ob der Schlüssel mit dem Schlüssel der Hashmap übereinstimmt. Die Klasse Demo definiert eine Hauptfunktion, in der eine neue Instanz von HashMap erstellt wird. Über die Funktion „Put“ werden dieser Struktur Elemente hinzugefügt und auf der Konsole ausgedruckt.
Das obige ist der detaillierte Inhalt vonDas Innenleben von HashMap in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung