Sobes.tech
Junior — Middle

Kuidas saada hash-tabelist välja identifikaatori järgi sorteeritud väärtused?

sobes.tech AI

Vastus AI-lt

Go keeles hajutabelit rakendatakse map tüübi abil, mis ei taga elementide järjekorda iteratsiooni ajal. Et saada väärtusi, mis on sorteeritud võtme (näiteks identifikaatori) järgi, tuleb:

  1. Ekstraheerida kõik võtmed kaardist massiivi.
  2. Sorteerida võtmete massiiv, kasutades sort funktsiooni.
  3. Läbida sorteeritud võtmed ja saada vastavad väärtused kaardist.

Näide:

package main

import (
    "fmt"
    "sort"
)

func main() {
    data := map[int]string{
        3: "kolm",
        1: "üks",
        2: "kaks",
    }

    // Võtmete ekstraktimine
    keys := make([]int, 0, len(data))
    for k := range data {
        keys = append(keys, k)
    }

    // Võtmete sorteerimine
    sort.Ints(keys)

    // Läbimine sorteeritud võtmetega
    for _, k := range keys {
        fmt.Printf("%d: %s\n", k, data[k])
    }
}

Nii saate väärtused, mis on sorteeritud identifikaatori (võtme) järgi.