suchen
HeimJavajavaLernprogrammWie kann ich eine HashMap nach ihren Werten in Java sortieren?

How Can I Sort a HashMap by its Values in Java?

HashMap nach Werten sortieren

Das Sortieren einer HashMap nach ihren Werten kann in verschiedenen Programmierszenarien ein nützlicher Vorgang sein. Um diese Aufgabe effektiv auszuführen, können wir die integrierten Funktionen von Java nutzen und eine benutzerdefinierte Sortierlogik implementieren.

Verwendung von Java Lambdas und Streams:

Verwendung der Lambda-Ausdrücke und von Java 8 Streams bietet einen prägnanten und modernen Ansatz zum Sortieren einer HashMap. Der folgende Codeausschnitt veranschaulicht diese Technik:

import java.util.*;
import java.util.stream.Collectors;

public class HashMapSort {

    public static void main(String[] args) {
        HashMap<integer string> map = new HashMap();
        map.put(1, "froyo");
        map.put(2, "abby");
        map.put(3, "denver");
        map.put(4, "frost");
        map.put(5, "daisy");

        // Sort the HashMap by values in ascending order
        Map<integer string> sortedMapAsc = map.entrySet()
                .stream()
                .sorted(Comparator.comparing(Map.Entry::getValue))
                .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
                        (a, b) -> b, LinkedHashMap::new));

        // Print the sorted map
        for (Map.Entry<integer string> entry : sortedMapAsc.entrySet()) {
            System.out.println(entry.getKey() + "," + entry.getValue());
        }
    }
}</integer></integer></integer>

Benutzerdefinierte Sortierung:

Alternativ können wir einen benutzerdefinierten Sortieralgorithmus mithilfe eines Komparators implementieren. Dieser Ansatz gibt uns mehr Flexibilität und Kontrolle über den Sortierprozess:

import java.util.*;

public class HashMapSort {

    public static void main(String[] args) {
        HashMap<integer string> map = new HashMap();
        map.put(1, "froyo");
        map.put(2, "abby");
        map.put(3, "denver");
        map.put(4, "frost");
        map.put(5, "daisy");

        // Define a custom comparator to sort by values
        Comparator<map.entry string>> comparator = new Comparator() {
            @Override
            public int compare(Map.Entry<integer string> o1, Map.Entry<integer string> o2) {
                return o1.getValue().compareTo(o2.getValue());
            }
        };

        // Sort the HashMap by values in ascending order
        List<map.entry string>> sortedList = new ArrayList(map.entrySet());
        sortedList.sort(comparator);

        // Print the sorted map
        for (Map.Entry<integer string> entry : sortedList) {
            System.out.println(entry.getKey() + "," + entry.getValue());
        }
    }
}</integer></map.entry></integer></integer></map.entry></integer>

Zusammenfassend lässt sich sagen, dass das Sortieren einer HashMap nach ihren Werten mithilfe verschiedener Techniken erreicht werden kann, einschließlich Java-Lambdas und -Streams oder benutzerdefinierten Komparatorimplementierungen. Die Wahl des Ansatzes hängt von den spezifischen Anforderungen und dem Kontext der Anwendung ab.

Das obige ist der detaillierte Inhalt vonWie kann ich eine HashMap nach ihren Werten in Java sortieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung