Sobes.tech
Junior — Middle

Da li je struktura podataka Map u programskom jeziku sortirajuća po ključevima?

sobes.tech АИ

Одговор од АИ

U jeziku Go, ugrađena struktura podataka map ne garantuje sortiranje po ključevima. Redosled prolaska kroz elemente u map je slučajan i može se menjati između iteracija.

Ako je potrebno sortirati elemente po ključevima, potrebno je izvući ključeve u niz, sortirati ga pomoću sort, a zatim prolaziti kroz mapu u redosledu sortirani ključevi:

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])
}

Na ovaj način, mapa sama po sebi nije sortirana, ali sortiranje se može implementirati ručno.