【发布时间】:2014-05-31 08:20:34
【问题描述】:
假设有一个类 Obj
class Obj{
int field;
}
并且您有一个Obj 实例列表,即List<Obj> lst。
现在,我如何在 Java8 中从列表 lst 中的对象中找到 int 字段 field 的最小值?
【问题讨论】:
标签: java java-8 minimum java-stream
假设有一个类 Obj
class Obj{
int field;
}
并且您有一个Obj 实例列表,即List<Obj> lst。
现在,我如何在 Java8 中从列表 lst 中的对象中找到 int 字段 field 的最小值?
【问题讨论】:
标签: java java-8 minimum java-stream
list.stream().min((o1,o2) -> Integer.compare(o1.field,o2.field))
由 Brian Goetz 提供的来自 cmets 的其他更好的解决方案
list.stream().min(Comparator.comparingInt(Obj::getField))
【讨论】:
你也可以这样做
int min = list.stream().mapToInt(Obj::getField).min();
【讨论】: