java流过滤器,以获取1个元素

guicsvcw  于 2021-08-20  发布在  Java
关注(0)|答案(2)|浏览(367)

所以我在这里上课

public class Employee {
    private String name;

    private Double k1;

    private Double k2;

    private Double k3;

    private Double k4;
}

我用findall()方法找到了所有包含spring数据jpa的列表
但是我想用所有的k1数据来获取所有的列表
所以我在服务中做到了

List<Employee> employeeList = findAll();

        List<Double> k1List = employeeList.stream()
                .filter(k -> k.getK1())
                .collect(Collectors.toList());

但它返回布尔值并返回雇员数据类型如何用lambda查找k1?

jdzmm42g

jdzmm42g1#

使用 map() 功能 stream 而不是 filter() :

List<Employee> employeeList = findAll();

List<Double> k1List = employeeList.stream()
    .map(k -> k.getK1())
    .collect(Collectors.toList());
kadbb459

kadbb4592#

filter() funcitons用于从数据库中筛选数据 employeeList . 它不能用于过滤员工的属性。我相信你需要的是一个 map() 功能。

List<Employee> employeeList = findAll();

        List<Double> k1List = employeeList.stream()
                .map(k -> k.getK1())
                .collect(Collectors.toList());

你可以使用 filter() 函数用于筛选出具有以下条件的员工记录。例如,让所有员工 k1 值等于 1.0 ```
List employeeList = findAll();

    List<Employee> filteredEmployeeList = employeeList.stream()
            .filter(k -> k.getK1() == 1.0)
            .collect(Collectors.toList());
请注意返回的 `map()` 功能与 `filter()` 功能在哪里 `map()` function返回提取的双精度值和 `filter()` 函数返回与原始列表相同的类型。

相关问题