Junior — Middle
Structura de date Map în limbajul de programare este sortată după chei?
sobes.tech AI
Răspuns de la AI
În limbajul Go, structura de date încorporată map nu garantează sortarea după chei. Ordinea de traversare a elementelor în map este aleatorie și se poate schimba între iterații.
Dacă este necesar să sortați elementele după chei, trebuie să extrageți cheile într-un slice, să îl sortați folosind sort și apoi să parcurgeți map în ordinea cheilor sortate:
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])
}
Astfel, map-ul în sine nu este sortat, dar sortarea poate fi implementată manual.