import java.util.List;
import java.util.stream.Collectors;
/**
* 手动分页工具类
*/
public class PageListUtil {
public static List<?> subList(List<?> list, int pageSize, int pageNum) {
try {
int count = list.size(); // 总记录数
// 计算总页数
int pages = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
// 起始位置
int start = pageNum <= 0 ? 0 : (pageNum > pages ? (pages - 1) * pageSize : (pageNum - 1) * pageSize);
// 终止位置
int end = Math.min(start + pageSize, count);
return list.stream().skip(start).limit(end - start).collect(Collectors.toList());
}catch (Exception e){
System.out.println(e);
return null;
}
}
}
List<?> subList = PageListUtil.subList(stationList, pageSize, pageNum);
Map<String, Object> map = new HashMap<>();
map.put("data", subList); //分页后的数据
map.put("total", stationList.size()); //数据总数