1.指定一个属性的参考写法
JSONArray addAnchorData = new JSONArray();
//正序
addAnchorData.sort(Comparator.comparing(st -> ((JSONObject) st).getString("anchorIndex")));
//倒序
addAnchorData.sort(Comparator.comparing(st -> ((JSONObject) st).getString("anchorIndex").reversed()));
-
comparing 方法的使用
从注释信息不难看出 comparing 方法传入一个函数,这个函数携带一个参数,参数类型为List对象或者JSONArray对象。 -
reversed 方法的使用
从注释信息不难看出 reversed 方法返回一个比较器,而且是强制执行此逆序。
2.指定两个属性的参考写法
JSONArray addAnchorData = new JSONArray();
//默认为正序
addAnchorData.sort(Comparator.comparing(st -> ((JSONObject) st).getString("anchorIndex")).thenComparing(st -> ((JSONObject) st).getString("anchorTypeId")));
3.总结
与List userList = new ArrayList<>();类型指定属性排序用法相同。因为comparing 方法传入一个函数,这个函数携带一个参数,参数类型为List对象或者JSONArray对象。
文章介绍了如何使用JSONArray进行属性排序,包括单个属性的正序和倒序排序,以及多个属性的复合排序。示例中展示了Comparator的comparing方法和reversed方法的用法,用于根据anchorIndex和anchorTypeId字段对JSONObject列表进行排序。
2万+

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



