Heim > Java > javaLernprogramm > Wie kann ich die Werte einer Java Map nach ihren Schlüsseln sortieren?

Wie kann ich die Werte einer Java Map nach ihren Schlüsseln sortieren?

Barbara Streisand
Freigeben: 2024-12-30 12:15:14
Original
707 Leute haben es durchsucht

How Can I Sort a Java Map's Values by its Keys?

Map-Werte nach Schlüssel in Java sortieren

Bei einer gegebenen Map mit String-Schlüsseln und -Werten besteht das Ziel darin, die Schlüssel in aufsteigender Reihenfolge zu sortieren. Die sortierten Schlüssel werden dann verwendet, um zwei Zeichenfolgen zu erstellen: eine mit den sortierten Fragen und die andere mit den entsprechenden Antworten.

Kurze Antwort

Um eine Karte nach ihren Schlüsseln zu sortieren, verwenden Sie eine TreeMap , das speziell für diesen Zweck entwickelt wurde. Wenn der Kartentyp unbekannt ist, kann eine alternative Methode mit SortedSet und TreeSet verwendet werden:

SortedSet<String> keys = new TreeSet<>(map.keySet());
for (String key : keys) {
    String value = map.get(key);
    // Perform desired operations
}
Nach dem Login kopieren

Längere Antwort

Technisch gesehen kann jede Klasse verwendet werden, die SortedMap implementiert. Allerdings ist TreeMap die am weitesten verbreitete Wahl. Für komplexere Schlüsseltypen oder benutzerdefinierte Sortieranforderungen verwenden Sie den folgenden Konstruktor, um einen Komparator bereitzustellen:

Comparator<Foo> comparator = (Foo o1, Foo o2) -> {
    // Define custom sort logic
};

SortedSet<Foo> keys = new TreeSet<>(comparator);
keys.addAll(map.keySet());
Nach dem Login kopieren

Überlegungen zur Leistung:

Beachten Sie, dass TreeMap und TreeSet unterschiedliche haben Leistungsmerkmale im Vergleich zu HashMap und HashSet. Suchvorgänge, die in HashMap O(1) Zeit benötigen, erfordern in TreeMap O(Log(N)) Zeit. Mit zunehmender Kartengröße nimmt die Suchzeit entsprechend zu.

Das obige ist der detaillierte Inhalt vonWie kann ich die Werte einer Java Map nach ihren Schlüsseln sortieren?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage