我现在想对一个list写一个排序方法 参数是字段名 和排序类型(正序 倒叙) 返回排序过后的list
场景是不能通过数据库做排序和分页 前端传参过来 需要java端做 有啥优雅地方法没 不想一个一个判断参数
场景是不能通过数据库做排序和分页 前端传参过来 需要java端做 有啥优雅地方法没 不想一个一个判断参数
类似这样
Function<AdminUser,Comparable> fun = AdminUser::getId;
boolean sortType = true;
ArrayList<AdminUser> list = new ArrayList<>();
List<AdminUser> sortedList = list.stream().sorted((o1, o2) -> {
return sortType ? fun.apply(o1).compareTo(fun.apply(o2)) : fun.apply(o2).compareTo(fun.apply(o1));
}).collect(Collectors.toList());
内存分页不可取,数据量小孩问题不大,数据量大就抓瞎了