Wie zu konvertieren Liste der Objekt-zu einer anderen Liste-Objekt mit streams?
Den folgenden code-snippet implementiert wurde, ohne lambda-Ausdrücke.
Gewusst wie: implementieren die gleiche Funktionalität, die Verwendung von lambda-Ausdrücken?
public class Java8EmpTest {
public static void main(String[] args) {
//TODO Auto-generated method stub
List<Emp> empInList = Arrays.asList(new Emp(1, 100), new Emp(2, 200), new Emp(3, 300));
List<Emp> afterSalayHikeInJava7 = new ArrayList<>();
//old way
for (Emp emp : empInList) {
afterSalayHikeInJava7.add(new Emp(emp.getId(), emp.getSalary() * 100));
}
afterSalayHikeInJava7.stream()
.forEach(s -> System.out.println("Id :" + s.getId() + " Salary :" + s.getSalary()));
}
}
class Emp {
private int id;
private int salary;
public int getId() {
return id;
}
Emp(int id, int salary) {
this.id = id;
this.salary = salary;
}
public int getSalary() {
return salary;
}
}
- Verwenden
.map()
... - .map() - konvertiert einen Typ in einen anderen Typ. korrigieren Sie mich, wenn falsch bin.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einfache Nutzung
map()
Methode in der stream-api und sammeln Ergebnisse:map()
jederEmp
von der input -List
zu einem neuenEmp
und danncollect()
zu einemList
:flatMap()
hier?