排序部分:
自然序排序(list集合):
list.stream().sorted()
自然序逆序元素,使用Comparator 提供的reverseOrder() 方法:
list.stream().sorted(Comparator.reverseOrder())
使用Comparator 来排序一个list
list.stream().sorted(Comparator.comparing(Student::getAge)):
把上面的元素逆序
list.stream().sorted(Comparator.comparing(Student::getAge).reversed()):
当然还可以不用借助steam方式直接排序:
list.sort(Comparator.comparing(Integer::intValue));
list.sort(Comparator.comparing(Integer::intValue).reversed());
list.sort(Comparator.comparing(Student::getAge));
list.sort(Comparator.comparing(Student::getAge).reversed());
排序分页部分:
resutList =list.stream().sorted(comparator).skip((pageNumber)* pageSize).limit(pageSize).collect(Collectors.toList());
说明:,这里使用的是正序排列,如果是倒序排列,使用sorted(comparator.reversed())。也可以不使用排序,去掉.sorted(comparator)部分就可以。
pageNumber就是显示第几页(可以根据起始页是0和1决定加减1),pageSize就是一页显示几条,这样数据就根据需求取出。
附加说明:如果返回类型是jpa的Page<对象>形式,可以这样
Pageble page=new PageRequest(pageNumber,pageSize);
Page<对象> result= new PageImpl<>(resutList ,page,list.size());
return result;