1.需求
已知List<Object>
中的每个Object
都有个sort
字段,Object
可以是JavaBean
也可以是JsonObject
,那么我想根据sort
进行集合排序,然后输出新集合。
2.代码
/**
* 对JsonArray排序,然后组装成List返回
*/
public static List<String> newSortTabList(JSONArray sortArray){
if(CollectionUtil.isEmpty(sortArray)){
return null;
}
List<String> tabList = new LinkedList<>();
//正序
//sortArray.sort(Comparator.comparing(obj -> ((JSONObject) obj).getFloat("sort")));
//倒序
sortArray.sort(Comparator.comparing(obj -> ((JSONObject) obj).getFloat("sort")).reversed());
//重点是上面2行的排序,这里只是代码冗余做了其他事
sortArray.forEach(e->{
tabList.add(((JSONObject) e).getString("tabName"));
});
return tabList;
}