您可以使用 reduce 操作来一次循环获取最大值和最小值的 ID 属性。假设您有一个名为 objectsList 对象,其中包含了要处理的对象。您可以按以下方式实现:

import java.util.List;
import java.util.Optional;

public class Main {
    public static void main(String[] args) {
        List<MyObject> objects = ...; // 假设您已经有了要处理的对象列表

        Optional<Integer> maxId = objects.stream()
                .map(MyObject::getId) // 提取 ID 属性
                .reduce(Integer::max); // 使用 reduce 操作获取最大值

        Optional<Integer> minId = objects.stream()
                .map(MyObject::getId) // 提取 ID 属性
                .reduce(Integer::min); // 使用 reduce 操作获取最小值

        if (maxId.isPresent()) {
            System.out.println("最大 ID:" + maxId.get());
        }

        if (minId.isPresent()) {
            System.out.println("最小 ID:" + minId.get());
        }
    }
}

class MyObject {
    private int id;

    // getter 和 setter 方法

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
}

在上述代码中,我们首先使用 map 操作将对象列表中的每个对象转换为其 ID 属性,然后使用 reduce 操作获取最大值和最小值。最终,我们使用 Optional 类来处理可能不存在的最大值和最小值。

请注意,上述代码假设 MyObject 类具有一个名为 getId 的方法,用于获取对象的 ID 属性。您需要根据您的实际情况进行调整。

Java Stream 一次循环获取对象中最大值和最小值 ID 属性

原文地址: https://www.cveoy.top/t/topic/o2if 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录