Java8实现分页

import cn.hutool.json.JSONUtil;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class Test {
    public static void main(String[] args) {

        List<Detail> DetailList = new ArrayList<>();
        Detail detail = new Detail();
        detail.setId(1l);
        DetailList.add(detail);
        detail = new Detail();
        detail.setId(2l);
        DetailList.add(detail);
        detail = new Detail();
        detail.setId(3l);
        DetailList.add(detail);
        detail = new Detail();
        detail.setId(4l);
        DetailList.add(detail);
        detail = new Detail();
        detail.setId(5l);
        DetailList.add(detail);
        detail = new Detail();
        detail.setId(6l);
        DetailList.add(detail);
        detail = new Detail();
        detail.setId(7l);
        DetailList.add(detail);
        detail = new Detail();
        detail.setId(8l);
        DetailList.add(detail);
        detail = new Detail();
        detail.setId(9l);
        DetailList.add(detail);
        detail = new Detail();
        detail.setId(10l);
        DetailList.add(detail);
        detail = new Detail();
        detail.setId(11l);
        DetailList.add(detail);
        detail = new Detail();
        detail.setId(12l);
        DetailList.add(detail);
        detail = new Detail();
        detail.setId(13l);
        DetailList.add(detail);

        int pageSize = 2;// 条数
        int listCount = DetailList.size();
        int totalPage = listCount % pageSize > 0 ? listCount / pageSize + 1 : listCount / pageSize;
        System.out.println("--------totalPage:"+totalPage);

        for (int i = 1; i < totalPage+1; i++) {
            int pageNo = (i - 1) ;
            System.out.println("--------pageNo:"+pageNo);
            List<Detail> modelList = DetailList.stream().skip(pageNo * pageSize).limit(pageSize).collect(Collectors.toList());
            String jsonStr = JSONUtil.toJsonStr(modelList);
            System.out.println("---jsonStr:"+jsonStr);
        }
    }
}
--------totalPage:7
--------pageNo:0
---jsonStr:[{"asc":" asc","start":0,"pageSize":30,"id":1},{"asc":" asc","start":0,"pageSize":30,"id":2}]
--------pageNo:1
---jsonStr:[{"asc":" asc","start":0,"pageSize":30,"id":3},{"asc":" asc","start":0,"pageSize":30,"id":4}]
--------pageNo:2
---jsonStr:[{"asc":" asc","start":0,"pageSize":30,"id":5},{"asc":" asc","start":0,"pageSize":30,"id":6}]
--------pageNo:3
---jsonStr:[{"asc":" asc","start":0,"pageSize":30,"id":7},{"asc":" asc","start":0,"pageSize":30,"id":8}]
--------pageNo:4
---jsonStr:[{"asc":" asc","start":0,"pageSize":30,"id":9},{"asc":" asc","start":0,"pageSize":30,"id":10}]
--------pageNo:5
---jsonStr:[{"asc":" asc","start":0,"pageSize":30,"id":11},{"asc":" asc","start":0,"pageSize":30,"id":12}]
--------pageNo:6
---jsonStr:[{"asc":" asc","start":0,"pageSize":30,"id":13}]

Process finished with exit code 0

参考:https://blog.csdn.net/weixin_44476553/article/details/110536713

原文地址:https://www.cnblogs.com/lanliying/p/15624765.html