Sobes.tech
Junior — Middle

Da li struktura podataka Map garantuje očuvanje reda umetanja elemenata?

sobes.tech АИ

Одговор од АИ

U jeziku Go, struktura podataka map ne garantuje očuvanje reda umetanja elemenata. Iteracija preko map se dešava u nasumičnom redosledu, koji se može menjati pri svakom prolazu.

Ako je potrebno sačuvati red umetanja, potrebno je koristiti dodatnu strukturu, na primer, slice za skladištenje ključeva u željenom redosledu, ili koristiti spoljne biblioteke koje implementiraju uredjene rečnike.

Primer prolaska kroz map sa očuvanjem reda ključeva:

package main

import "fmt"

func main() {
    m := map[string]int{"a": 1, "b": 2, "c": 3}
    keys := []string{"a", "b", "c"} // red umetanja

    for _, k := range keys {
        fmt.Println(k, m[k])
    }
}