java stream一次循环获取对象中同时获取最大值和最小值的属性
你可以使用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的方法来获取年龄属性的值。你需要根据你的实际情况来替换这部分代码
原文地址: http://www.cveoy.top/t/topic/hzvl 著作权归作者所有。请勿转载和采集!