Heim > Backend-Entwicklung > Golang > Wie sortiere ich eine String-Integer-Map nach Wert in absteigender Reihenfolge in Go?

Wie sortiere ich eine String-Integer-Map nach Wert in absteigender Reihenfolge in Go?

DDD
Freigeben: 2024-12-15 15:16:20
Original
733 Leute haben es durchsucht

How to Sort a String-Integer Map by Value in Descending Order in Go?

Sortieren einer Karte nach ihren Werten

Bei einer Zuordnung von Zeichenfolgen zu Ganzzahlen ist es wünschenswert, die Karte nach ihren Werten in absteigender Reihenfolge zu sortieren bestellen.

Lösung:

Implementierung a Eine benutzerdefinierte Sortierschnittstelle kann diese Funktionalität erreichen. Der folgende Code stellt alle notwendigen Funktionen bereit, um eine Karte nach ihren Werten zu sortieren:

func rankByWordCount(wordFrequencies map[string]int) PairList {
  pl := make(PairList, len(wordFrequencies))
  i := 0
  for k, v := range wordFrequencies {
    pl[i] = Pair{k, v}
    i++
  }
  sort.Sort(sort.Reverse(pl))
  return pl
}

type Pair struct {
  Key string
  Value int
}

type PairList []Pair

func (p PairList) Len() int { return len(p) }
func (p PairList) Less(i, j int) bool { return p[i].Value < p[j].Value }
func (p PairList) Swap(i, j int){ p[i], p[j] = p[j], p[i] }
Nach dem Login kopieren

Zum Beispiel unter Verwendung der angegebenen Karte:

m := map[string]int{"hello": 10, "foo": 20, "bar": 20}
Nach dem Login kopieren

Die sortierte Ausgabe wäre:

foo, 20
bar, 20
hello, 10
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie sortiere ich eine String-Integer-Map nach Wert in absteigender Reihenfolge in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage