如何使用 Java 8 从对象列表中获取最小值和最大值
我有这样的课:
public class Test {
private String Fname;
private String Lname;
private String Age;
// getters, setters, constructor, toString, equals, hashCode, and so on
}
和一个类似 List<Test> 的列表testList
填充了 Test
元素.
and a list like List<Test> testList
filled with Test
elements.
如何使用 Java 8 获取 age
的最小值和最大值?
How can I get minimum and maximum value of age
using Java 8?
推荐答案
为了简化事情,您可能应该将您的年龄设为 Integer
或 int
而不是 Sting,但由于您的问题是关于 String age
这个答案将基于 String
类型.
To simplify things you should probably make your age Integer
or int
instead of Sting, but since your question is about String age
this answer will be based on String
type.
假设 String age
持有表示整数范围内值的字符串,您可以简单地将其映射到 IntStream
并使用它的 IntSummaryStatistics
之类的
Assuming that String age
holds String representing value in integer range you could simply map it to IntStream
and use its IntSummaryStatistics
like
IntSummaryStatistics summaryStatistics = testList.stream()
.map(Test::getAge)
.mapToInt(Integer::parseInt)
.summaryStatistics();
int max = summaryStatistics.getMax();
int min = summaryStatistics.getMin();
相关文章