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对象。