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