在某些场景下,需要对数据进行手动分页,直接上代码
/**
*
* @param page 页码
* @param size 每页大小
* @param list 数据集合
* @return
*/
public static <T> List<T> queryPagedList(int page, int size, List<T> list) {
int startIndex = ((page - 1) * size);
int endIndex = page * size - 1;
int listSize = list.size();
// 开始下标大于集合的最大下标,取不到数据
if (startIndex > (listSize - 1)){
return null;
}
endIndex++;// 取头不取尾,要把尾巴加上
if (endIndex > listSize) {// 结束下标不能大于集合size
endIndex = listSize;
}
return list.subList(startIndex, endIndex);
}