最近做到一个需求,需要把业务侧返回的数据(格式为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

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

被折叠的 条评论
为什么被折叠?



