你可以使用'collect'方法来一次循环获取对象中的最大值和最小值的属性值。

例如,假设你有一个'Person'类,其中有一个属性'age'表示年龄。你想要一次循环获取一组'Person'对象中的最大年龄和最小年龄。

你可以使用'IntSummaryStatistics'类来收集年龄属性的统计信息,然后从中获取最大值和最小值。下面是一个示例代码:

List<Person> people = // your list of Person objects

IntSummaryStatistics ageStats = people.stream()
    .collect(Collectors.summarizingInt(Person::getAge));

int maxAge = ageStats.getMax();
int minAge = ageStats.getMin();

System.out.println('Max Age: ' + maxAge);
System.out.println('Min Age: ' + minAge);

在上面的代码中,我们使用'stream'方法将'people'列表转换为流。然后,我们使用'collect'方法和'Collectors.summarizingInt'收集器来收集年龄属性的统计信息。最后,我们可以使用'getMax'和'getMin'方法从'IntSummaryStatistics'对象中获取最大值和最小值。

注意:在上面的代码中,假设'Person'类有一个名为'getAge'的方法来获取年龄属性的值。你需要根据你的实际情况来替换这部分代码。

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

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

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