Junior — Middle
A programozási nyelv Map adatszerkezete rendezhető kulcs szerint?
sobes.tech MI
Válasz az MI-től
A Go nyelvben a beépített map adatszerkezet nem garantálja a kulcsok szerinti rendezést. A map elemeinek bejárási sorrendje véletlenszerű, és iterációk között változhat.
Ha a kulcsok szerint szeretnénk rendezni az elemeket, ki kell nyerni a kulcsokat egy szeletbe, rendezni a sort segítségével, majd a rendezett kulcsok sorrendjében végigmenni a mapen:
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])
}
Így a map önmagában nem rendezett, de a rendezést kézzel meg lehet valósítani.