1.分页工具类
package com.mayi1203.myproject.util;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public final class PageUtils {
public static final String LIST = "list";
public static final String TOTAL = "total";
private PageUtils() {}
public static final <O> Map<String, Object> listByPage(int pageNum, int pageSize, List<O> list){
List<O> result = null;
if(pageNum < 1 || pageSize < 1) {
result = Collections.emptyList();
}else {
result = list.stream().skip((pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
}
Map<String, Object> map = new HashMap<>(3);
map.put(TOTAL, list.size());
map.put(LIST, result);
return map;
}
}
2.测试类
package com.mayi1203.myproject.test;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.mayi1203.myproject.util.PageUtils;
public class Test {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
for(int i = 0; i < 1000; i++) {
list.add(i + 1);
}
Map<String, Object> map = PageUtils.listByPage(8, 10, list);
list = (List<Integer>) map.get(PageUtils.LIST);
list.stream().forEach(result -> System.out.println(result));
}
}
3.控制台打印结果
71
72
73
74
75
76
77
78
79
80