java - 根据Java列表中的最小属性值选择一个对象

标签 java arraylist

我有课

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/

相关文章:

java - HTTP:区别请求属性和 POST - 参数

java - 无法解析插件 Java Spring

java - 如何在特定字符后删除 arraylist 元素中的文本?

java - 检查 ArrayList 中是否存在 JTextfield 值

java - 对 ArrayList 使用可选索引 - 可能吗?

Java JList 不更新

java - 每次我添加/删除任何内容时都强制重新启动并使缓存无效?

java - 将另一个 java 源目录添加到 gradle 脚本

java - 使用 JAX-RS 服务获取应用程序路径

java - 是否可以使用 RandomAccessFile 打印出 Student 对象?