Java lamda对List<JSONObject>里多个动态属性字段进行动态的降序或者升序

该文章展示了如何使用Java的Comparator和lambda表达式,根据前端传入的属性字段和排序顺序,动态地对List<JSONObject>进行多字段的升序或降序排序。代码示例中,首先创建JSONObject列表,然后根据指定的属性和排序顺序构建Comparator链,最后通过Collections.sort进行排序。

        最近做到一个需求,需要把业务侧返回的数据(格式为List<JSONObject>),然后根据前端传来的排序字段、以及升降序属性来排序并返回给前端。要对List<JSONObject>中的多个属性字段进行动态的升序或降序排序,我们可以根据需要使用Comparator.comparing()方法和Comparator.reverseOrder()方法,运用lambda表达式动态指定属性字段和排序顺序。以下是自己写的一个示例代码,演示了如何实现动态的降序和升序排序,仅供参考。     

public static void main(String[] args) {
        List<JSONObject> jsonList = new ArrayList<>();

        // 添加JSONObject对象到List中
        JSONObject json1 = new JSONObject();
        json1.put("id", 1);
        json1.put("name", "Alice");
        json1.put("age", 25);

        JSONObject json2 = new JSONObject();
        json2.put("id", 2);
        json2.put("name", "Alice");
        json2.put("age", 30);

        JSONObject json3 = new JSONObject();
        json3.put("id", 3);
        json3.put("name", "Bob");
        json3.put("age", 20);

        jsonList.add(json1);
        jsonList.add(json2);
        jsonList.add(json3);

        L
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值