Sobes.tech
Junior — Middle

Wie kann man sortierte Werte nach Identifikator aus einer Hash-Tabelle extrahieren?

sobes.tech KI

Antwort von AI

In Go wird die Hashtabelle mit dem Typ map implementiert, der die Reihenfolge der Elemente bei der Iteration nicht garantiert. Um Werte sortiert nach Schlüssel (z.B. ID) zu erhalten, müssen Sie:

  1. Alle Schlüssel aus der Map in ein Slice extrahieren.
  2. Das Slice der Schlüssel mit der Funktion sort sortieren.
  3. Über die sortierten Schlüssel iterieren und die entsprechenden Werte aus der Map abrufen.

Beispiel:

package main

import (
    "fmt"
    "sort"
)

func main() {
    data := map[int]string{
        3: "drei",
        1: "eins",
        2: "zwei",
    }

    // Schlüssel extrahieren
    keys := make([]int, 0, len(data))
    for k := range data {
        keys = append(keys, k)
    }

    // Schlüssel sortieren
    sort.Ints(keys)

    // Über die sortierten Schlüssel iterieren
    for _, k := range keys {
        fmt.Printf("%d: %s\n", k, data[k])
    }
}

So erhalten Sie Werte, sortiert nach ID (Schlüssel).