我有课
public class LocationDistances {
String locs;
double distances;
}
和一个由另一个类中的 LocationDistances 对象组成的 ArrayList
ArrayList<LocationDistances> locsDis = new ArrayList(Arrays.asList(
new LocatoinDistances("abc",23.234556),
new LocatoinDistances("xyz",3.3444566),
. . .
. . .
. . .
));
如何根据 LocsDis arrayList 中 LocationDistances.distance 的最小值从 Array 列表中选择 LocationDistances.locs?
最佳答案
如果您使用的是 Java 8(您应该:)):
locsDis.stream().min((first, second) -> Double.compare(first.distance, second.distance)).get();
编辑:决定让这篇文章更全面一些,以帮助我们这些仍然局限于 Java < 8
的人。但可以使用很棒的库 guava :)
Java 6 & 7 与 guava(Google 实用程序库):
Ordering<LocationDistances> ordering = new Ordering<LocationDistances>() {
@Override
public int compare(LocationDistances left, LocationDistances right) {
return Double.compare(left.distance, right.distance);
}
};
return ordering.max(list);
关于java - 根据Java列表中的最小属性值选择一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29690253/