Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java8或streams中的forEach循环_Java - Fatal编程技术网

java8或streams中的forEach循环

java8或streams中的forEach循环,java,Java,我希望使用Java8编写以下代码 List<Employee> employeeList = new ArrayList<>(); List<EmployeeDetails> emps = getEmployees(); if (emps.size() != 0) { for (EmployeeDetails e : emps) { employeeList.addAll(convertData(e)); } } List e

我希望使用Java8编写以下代码

List<Employee> employeeList = new ArrayList<>();
List<EmployeeDetails> emps = getEmployees();
if (emps.size() != 0) {
    for (EmployeeDetails e : emps) {
        employeeList.addAll(convertData(e));
    }
}
List employeeList=new ArrayList();
列出emps=getEmployees();
如果(emps.size()!=0){
对于(员工详细信息e:EMP){
addAll(convertData(e));
}
}

什么是好方法?我需要使用lambda或streams吗?

您编写的代码,说得很清楚,很好,但是如果您想用streams重写它,它看起来像

List<Employee> employeeList = getEmployees().stream()
  .flatMap(e -> convertData(e).stream())
  .collect(Collectors.toList());
List employeeList=getEmployees().stream()
.flatMap(e->convertData(e).stream())
.collect(Collectors.toList());

是的,您可以使用lambda和streams来执行此操作。如果你有兴趣学习如何,我建议检查Oracle教程。即使你选择不使用流,你也可以考虑删除<代码>如果语句。它在这里什么也不做,因为如果列表为空,那么
for
循环将不会迭代。