Junior — Middle
Wie ist die Datenstruktur Map implementiert, um Schlüssel-Wert-Paare im System zu speichern und darauf zuzugreifen?
sobes.tech KI
Antwort von AI
In Go wird die Datenstruktur map als Hashtabelle implementiert, die schnellen Zugriff auf Werte anhand von Schlüsseln ermöglicht. Beim Hinzufügen eines Schlüssel-Wert-Paares wird der Schlüssel gehasht, und der Hash bestimmt den Index im Bucket-Array, wo der Wert gespeichert wird.
Wichtige Punkte der Implementierung:
- Es wird offene Adressierung mit Verkettung zur Kollisionsauflösung verwendet.
- Bei Kollisionen werden die Elemente in verketteten Listen innerhalb der Buckets gespeichert.
- Bei wachsender Anzahl an Elementen erfolgt eine Reorganisation (Rehash), um die Leistung aufrechtzuerhalten.
Beispiel für die Verwendung von map in Go:
m := make(map[string]int)
m["apple"] = 5
value, exists := m["apple"]
if exists {
fmt.Println("Wert für 'apple':", value)
}