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.