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
Lists.partition(updateList, 200).forEach(list -> mapper.updateBatch(list)); Lists.partition(orderCodes, 100).forEach(list -> { request.setOrderCodes(list); if ("SO".equalsIgnoreCase(type)) { outFeign.update(request); } else { inFeign.update(request); } });
List<String> pmCodeList = new ArrayList<String>(); pmCodeList.addAll(set); // 分页 int total = pmCodeList.size(); int pageSize = 900; int pages = total / pageSize + 1; for (int pageNo=1;pageNo <= pages;pageNo++) { List<String> subName; if (pageNo==pages){ subName=pmCodeList.subList((pageNo-1)*pageSize,total); } else { subName=pmCodeList.subList((pageNo-1)*pageSize,pageNo*pageSize); } if (EmptyUtils.isNotEmpty(subName)) { // 处理 list } }
参考:https://blog.csdn.net/weixin_44476553/article/details/110536713