Sobes.tech
Junior — Middle

Je dátová štruktúra Map v programovacom jazyku zoradená podľa kľúčov?

sobes.tech AI

Odpoveď od AI

V jazyku Go nezaručuje vstavaná dátová štruktúra map zoradenie podľa kľúčov. Poradie prechodu prvkov v mapách je náhodné a môže sa meniť medzi iteráciami.

Ak je potrebné zoradiť prvky podľa kľúčov, je potrebné extrahovať kľúče do poľa, zoradiť ich pomocou sort a potom prejsť mapu v poradí zoradených kľúčov:

keys := make([]string, 0, len(m))
for k := range m {
    keys = append(keys, k)
}
sort.Strings(keys)
for _, k := range keys {
    fmt.Println(k, m[k])
}

Týmto spôsobom mapa sama o sebe nie je zoradená, ale zoradenie je možné manuálne implementovať.