Java-Liste konvertieren
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; }
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()));
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!