java排序根据对象的某一个字段

你可以使用 Java 的 Collections.sort 方法结合自定义的比较器来根据 Result 对象的 area 属性对 List 进行排序。假设 Result 类有一个 getArea 方法来获取 area 属性,以下是具体的实现代码:

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

class Result {
    private double area;

    public Result(double area) {
        this.area = area;
    }

    public double getArea() {
        return area;
    }

    @Override
    public String toString() {
        return "Result{" +
                "area=" + area +
                '}';
    }
}

public class Main {
    public static void main(String[] args) {
        List<Result> list = new ArrayList<>();
        list.add(new Result(10.5));
        list.add(new Result(5.2));
        list.add(new Result(7.8));
        list.add(new Result(3.3));

        // 使用自定义比较器根据 area 属性进行排序
        Collections.sort(list, new Comparator<Result>() {
            @Override
            public int compare(Result r1, Result r2) {
                return Double.compare(r1.getArea(), r2.getArea());
            }
        });

        // 打印排序后的结果
        for (Result result : list) {
            System.out.println(result);
        }
    }
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值