代码测试如下:
public static List doPage(Integer pageNo,Integer pageSize){ List<String> list = Arrays.asList("1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"); int totalPage = list.size()/pageSize + (list.size()%pageSize == 0 ? 0:1); System.out.println("总页数:::::"+totalPage); System.out.println("数据总数:::::"+list.size()); List<String> resultList = list.stream().skip((pageNo - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); return resultList; }
第1页的10条数据 public static void main(String[] args) { List list = doPage(1, 10); System.out.println(list); }
得到结果为:
总页数:::::2 数据总数:::::11 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
第2页 的10条数据
总页数:::::2
数据总数:::::11
[11]
亲测好用 比mysql的limit 分页更加直接, 如果 数据来源是oracle 此方法更加简介