Sobes.tech
Junior — Middle

La struttura dati Map nel linguaggio di programmazione è ordinabile per chiavi?

sobes.tech AI

Risposta dell'AI

Nel linguaggio Go, la struttura dati incorporata map non garantisce l’ordinamento per chiavi. L’ordine di iterazione degli elementi in map è casuale e può cambiare tra le iterazioni.

Se si desidera ordinare gli elementi per chiavi, è necessario estrarre le chiavi in un slice, ordinarle con sort e poi attraversare il map nell’ordine delle chiavi ordinate:

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

In questo modo, il map di per sé non è ordinato, ma l’ordinamento può essere implementato manualmente.