„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich eine Java -Liste effizient mit Streams und Lambdas in eine Karte konvertieren?

Wie kann ich eine Java -Liste effizient mit Streams und Lambdas in eine Karte konvertieren?

Gepostet am 2025-03-24
Durchsuche:263

How Can I Efficiently Convert a Java List to a Map Using Streams and Lambdas?

java list in die Karte mit Java 8 Streams und lambdas

Hintergrund:

eine Liste von Objekten konvertieren eine Aufgabe. Java 7 und unten erfordern eine imperative Codierung mit einer For-Each-Schleife. In Java 8 bietet die Verwendung von Streams und Lambdas eine kurze und elegante Lösung.

Java 7 Lösung:

private Map nameMap(List choices) {
    final Map hashMap = new HashMap();
    for (final Choice choice : choices) {
        hashMap.put(choice.getName(), choice);
    }
    return hashMap;
}

Java 8 Lösung ohne Guava:

die Sammlerklasse nutzen, die Konvertierung kann in einer einzelnen Stream -Operation durchgeführt werden:

Map result =
    choices.stream().collect(Collectors.toMap(Choice::getName,
                                              Function.identity()));

Hier, Choice :: GetName ruft den Namensschlüssel ab und function.identity () bewahrt den Wert.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3