Java 爪哇兰巴达。此方法必须返回类型为ArrayList

Java 爪哇兰巴达。此方法必须返回类型为ArrayList,java,lambda,java-8,java-stream,functional-interface,Java,Lambda,Java 8,Java Stream,Functional Interface,我有一个员工姓名和员工工资的映射,我想返回一个员工姓名列表,其工资低于或等于使用lambda和函数接口作为参数传递的工资。这就是我正在做的,但是它向我显示了一个错误。这个方法应该返回类型列表的结果 public static EmployeeAudit findEmployee() { return salary -> employeeMap.entrySet() .stream()

我有一个员工姓名和员工工资的映射,我想返回一个员工姓名列表,其工资低于或等于使用lambda和函数接口作为参数传递的工资。这就是我正在做的,但是它向我显示了一个错误。这个方法应该返回类型列表的结果

public static EmployeeAudit findEmployee() {
       return salary ->  
            employeeMap.entrySet()
                       .stream()
                       .filter(s -> s.getValue() <= salary)
                       .collect(Collectors.toList());
}

最好在特定实现上使用抽象接口。这满足了大多数合同的要求。请注意,Collectors.toList的结果是List而不是ArrayList-返回类型不兼容。首先:

public interface EmployeeAudit {
    List<String> fetchEmployeeDetails (double salary);
}

最好在特定实现上使用抽象接口。这满足了大多数合同的要求。请注意,Collectors.toList的结果是List而不是ArrayList-返回类型不兼容。首先:

public interface EmployeeAudit {
    List<String> fetchEmployeeDetails (double salary);
}
什么是员工地图?请提供一个可编译的代码。什么是employeeMap?请提供可编译的代码。
public static EmployeeAudit findEmployee() {
    return salary -> employeeMap.entrySet()
                                .stream()
                                .filter(s -> s.getValue() <= salary)
                                .map(Map.Entry::getKey)
                                .collect(Collectors.toList());
    }
}