Junior — Middle
Cum este implementată structura de date map pentru stocarea și accesarea perechilor cheie-valoare în cadrul sistemului?
sobes.tech AI
Răspuns de la AI
În Go, structura de date map este implementată ca o tabelă hash care oferă acces rapid la valori după chei. La adăugarea unui cuplu cheie-valoare, cheia este hash-ată, iar hash-ul determină indicele în array-ul de bucket-uri unde este stocată valoarea.
Puncte cheie ale implementării:
- Se folosește adresare deschisă cu lanțuri pentru rezolvarea coliziunilor.
- În caz de coliziuni, elementele sunt stocate în liste înlănțuite în interiorul bucket-urilor.
- Când numărul de elemente crește, se face o reorganizare (rehash) pentru a menține performanța.
Exemplu de utilizare a map în Go:
m := make(map[string]int)
m["apple"] = 5
value, exists := m["apple"]
if exists {
fmt.Println("Valoare pentru 'apple':", value)
}