suchen
HeimJavajavaLernprogrammWie konvertiert man eine Java-Liste effizient in eine Karte?

How to Efficiently Convert a Java List to a Map?

So konvertieren Sie eine Liste in eine Karte in Java

Bei der Arbeit mit Sammlungen in Java kann die Konvertierung einer Liste in eine Karte eine häufige Anforderung sein . Das Verständnis des optimalen Ansatzes für diese Konvertierung kann die Leistung und Lesbarkeit des Codes erheblich verbessern.

Optimale Konvertierungsansätze

Traditioneller Ansatz:
Der Traditionelle Der Ansatz umfasst die Verwendung von Schleifen und die manuelle Zuordnung jedes Listenelements zu einem Zuordnungsschlüssel-Wert-Paar. Dieser Ansatz ist unkompliziert, kann jedoch für größere Listen ineffizient sein.

Java 8 Streams:
Mit Java 8 wurden Streams eingeführt, die leistungsstarke und übersichtliche Möglichkeiten zur Bearbeitung von Sammlungen bieten. Mithilfe von Streams können Sie eine Liste in einer einzigen Zeile in eine Karte umwandeln:

Map<integer string> resultsMap = results.stream()
                                         .collect(Collectors.toMap(o -> (Integer) o[0], o -> (String) o[1]));</integer>

Vorteile der Verwendung von Streams:

  • Prägnanz: Der streambasierte Ansatz ist viel prägnanter als der herkömmliche schleifenbasierte Ansatz.
  • Effizienz: Streams sind für die parallele Verarbeitung optimiert, was die Leistung bei großen Listen deutlich verbessern kann.
  • Flexibilität: Streams sorgen für Abwechslung über zusätzliche Funktionen, wie z. B. die Möglichkeit, Elemente vor der Konvertierung in ein zu filtern, zu sortieren und zu gruppieren Karte.

Beispiel

Betrachten Sie die folgende Liste von Objekten:

List<object> results = new ArrayList();
results.add(new Object[] {1, "Item 1"});
results.add(new Object[] {2, "Item 2"});</object>

Um diese Liste in eine Karte umzuwandeln, können Sie Verwenden Sie den Stream-basierten Ansatz:

Map<integer string> resultsMap = results.stream()
                                         .collect(Collectors.toMap(o -> (Integer) o[0], o -> (String) o[1]));</integer>

Dieser Code erstellt eine Karte mit den ganzzahligen Werten aus der Liste als Schlüssel und der Zeichenfolge Werte als Werte.

Zusätzliche Überlegungen:

  • Wenn Ihre Zuordnungsfunktion nicht bijektiv ist (d. h. sie kann mehrere Elemente demselben Schlüssel zuordnen), müssen Sie kann einen binären Operator verwenden, um die mit den doppelten Schlüsseln verknüpften Werte zusammenzuführen.
  • Sie können auch die Methode Collectors.groupingBy() verwenden, um eine Karte zu erstellen, die gruppiert Elemente basierend auf einer angegebenen Tastenfunktion.

Das obige ist der detaillierte Inhalt vonWie konvertiert man eine Java-Liste effizient in eine Karte?. 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ßer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

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.

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)