问题:java8使用Lambda表达式对List进行排序的用法
用法:(转载自:https://blog.csdn.net/weixin_41438466/article/details/107770273)
1、单条件升序:
list.sort(Comparator.comparing(User::getId);
2、降序:
list.sort(Comparator.comparing(User::getId).reversed());
3、多条件升序排序:
list.sort(Comparator.comparing(User::getId).thenComparing(User::getName));
4、用 Collections.reverse 反转一个 List
list.sort(Comparator.comparing(User::getId);
Collections.reverse(list);
等价于
list.sort(Comparator.comparing(User::getId).reversed());
扩充:
当List的对象是Map的时候,可以采用以下用法:
list.sort(Comparator.comparing((Map<String, Object> h) -> ((Integer) h.get("totalNum"))).reversed());//倒序