Sobes.tech
Junior — Middle

Cum se pot extrage valorile sortate după identificator dintr-un tabel hash?

sobes.tech AI

Răspuns de la AI

În Go, tabelul hash este implementat folosind tipul map, care nu garantează ordinea elementelor în timpul iterației. Pentru a obține valorile sortate după cheie (de exemplu, identificator), trebuie:

  1. Să extragi toate cheile din hartă într-un slice.
  2. Să sortezi slice-ul de chei folosind funcția sort.
  3. Să parcurgi cheile sortate și să obții valorile corespunzătoare din hartă.

Exemplu:

package main

import (
    "fmt"
    "sort"
)

func main() {
    data := map[int]string{
        3: "trei",
        1: "unu",
        2: "doi",
    }

    // Extrage cheile
    keys := make([]int, 0, len(data))
    for k := range data {
        keys = append(keys, k)
    }

    // Sortează cheile
    sort.Ints(keys)

    // Parcurge cheile sortate
    for _, k := range keys {
        fmt.Printf("%d: %s\n", k, data[k])
    }
}

Astfel, vei obține valorile sortate după identificator (cheie).