Junior
Wie erfolgt die Speicherung von Objekten in HashMap?
sobes.tech KI
Antwort von AI
Objekte werden in Form von "Schlüssel-Wert"-Paaren gespeichert. HashMap verwendet ein Array von "Buckets" (Eimern). Beim Hinzufügen eines Paares:
- Der Hash-Code des Schlüssels wird mit
hashCode()berechnet. - Anhand des Hash-Codes wird der Index des Buckets im Array bestimmt.
- In diesem Bucket wird ein
Entry-Paar (oder Äquivalent in neueren Java-Versionen) platziert, das den Schlüssel, den Wert und den Hash-Code enthält. - Wenn im Bucket bereits Objekte vorhanden sind, bilden sie eine verkettete Liste oder einen Baum (bei vielen Kollisionen).
Beim Abrufen eines Objekts anhand des Schlüssels:
- Der Hash-Code des Schlüssels wird berechnet.
- Der Index des Buckets wird bestimmt.
- Innerhalb des Buckets wird nach einem Objekt gesucht, dessen Schlüssel
equals()mittrueentspricht und dessen Hash-Codes übereinstimmen.
Schlüssel sollten unveränderlich sein und die Methoden hashCode() und equals() korrekt implementieren.