在日常開發(fā)中,框架中使用的分頁插件有時(shí)候不能夠?qū)M合List進(jìn)行有效的分頁,所以需要我們進(jìn)行手動(dòng)分頁。
方法缺點(diǎn):不適合大量數(shù)據(jù)使用,list越大,程序響應(yīng)時(shí)間越久,會(huì)造成用戶體驗(yàn)問題。
下面是優(yōu)化出來的公共方法,兼容各種類型的List,復(fù)制粘貼即可使用。
/**
* @param list 分頁前的集合
* @param pageNum 頁碼
* @param pageSize 頁數(shù)
* @param <T>
* @return 分頁后的集合
*/
public static <T> List<T> pageList(List<T> list, int pageNum, int pageSize) {
//計(jì)算總頁數(shù)
int page = list.size() % pageSize == 0 ? list.size() / pageSize : list.size() / pageSize + 1;
//兼容性分頁參數(shù)錯(cuò)誤
pageNum = pageNum <= 0 ? 1 : pageNum;
pageNum = pageNum >= page ? page : pageNum;
// 開始索引
int begin = 0;
// 結(jié)束索引
int end = 0;
if (pageNum != page) {
begin = (pageNum - 1) * pageSize;
end = begin + pageSize;
} else {
begin = (pageNum - 1) * pageSize;
end = list.size();
}
return list.subList(begin, end);
}
來源:https://blog.csdn.net/qq_19309473/article/details/116748005
本文鏈接:http://fangxuan.com.cn/article/165.html