Sobes.tech
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)
}