Heim > Java > javaLernprogramm > Wie kann ich eine Java-Liste mithilfe von Streams und Lambdas effizient in eine Karte konvertieren?

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

Patricia Arquette
Freigeben: 2024-12-16 13:38:10
Original
626 Leute haben es durchsucht

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

Java-Liste konvertieren zu Map mit Java 8 Streams und Lambdas

Hintergrund:

Das Konvertieren einer Liste von Objekten in eine Karte ist eine häufige Aufgabe. Java 7 und niedriger erfordern eine zwingende Codierung mithilfe einer for-each-Schleife. In Java 8 bietet die Verwendung von Streams und Lambdas eine prägnante und elegante Lösung.

Java 7-Lösung:

private Map<String, Choice> nameMap(List<Choice> choices) {
    final Map<String, Choice> hashMap = new HashMap<>();
    for (final Choice choice : choices) {
        hashMap.put(choice.getName(), choice);
    }
    return hashMap;
}
Nach dem Login kopieren

Java 8-Lösung ohne Guave:

Durch die Nutzung der Collectors-Klasse kann die Konvertierung in einem einzigen Stream erfolgen Operation:

Map<String, Choice> result =
    choices.stream().collect(Collectors.toMap(Choice::getName,
                                              Function.identity()));
Nach dem Login kopieren

Hier ruft Choice::getName den Namensschlüssel ab und Function.identity() behält den Wert bei.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Java-Liste mithilfe von Streams und Lambdas effizient in eine Karte konvertieren?. 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