我正在尝试在Stream中学习地图功能
public class EmployeeInformationTest {
public static void main(String args[]) {
List<Employee> employees = Arrays.asList(
new Employee("Jai"),
new Employee("Adithya"),
new Employee("Raja"));
List<String> names = employees.stream()
.map(s -> s.getEmployeeName()) // Lambda Expression
.collect(Collectors.toList());
System.out.println(names);
}
}
我们有上面的代码,并且以某种方式从雇员列表中提供了字符串列表。说,我们还有另一个类Person,其中我们的字段为名称
public class Person {
private String name;
}
所以通过map或流中的其他函数是否可行,这样我就可以在上面的代码中获得Person列表而不是String列表
答案 0 :(得分:2)
确定,只需将map
函数更改为:
.map(s -> new Person(s.getEmployeeName()))
或没有这样的构造函数:
.map(s -> {
Person p = new Person();
p.setName(s.getEmployeeName());
return p;
})