int page=1;//第几页,1开始
int rows=10;//每页显示的条数
//准备一个List
List<String> list = new ArrayList<>();
for (int i = 10; i>0 ; i--) {
list.add(i+"");
}
//排序后的List
List<String> listSort = new ArrayList<>();
方法一:
int size = list.size();
int pageStart = page == 1 ? 0 : (page - 1) * rows;//截取的开始位置
int pageEnd = size < page * rows ? size : page * rows;//截取的结束位置
if (size > pageStart) {
listSort = list.subList(pageStart, pageEnd);
}
//总页数
int totalPage = 0;
if (list.size() % rows == 0) {
totalPage = list.size() / rows;
} else {
totalPage = list.size() / rows + 1;
}
方法二:
int currIdx = (page> 1 ? (page-1) * pageSize : 0);
for (int i = 0; i < rows&& i < size - currIdx; i++) {
String string = list.get(currIdx + i);
listSort.add(string);
}