import java.util.ArrayList;
import java.util.List;
public class ListPage {
/**
*
* @param size2 每页显示的条数
* @param page 页码
* @param list 要进行分页的list集合
* @return
*/
public static List<?> page(int size2,int page,List<?> list1 ) {
int count = size2; // 每页多少条
int size = list1.size(); // 总条数
int pageCount = size % count == 0 ? size / count : size / count + 1; // 总页数
int fromIndex = count * (page - 1);
int toIndex = fromIndex + count;
if (toIndex >= size) {
toIndex = size;
}
if (page > pageCount + 1) {
fromIndex = 0;
toIndex = 0;
}
// 分页之后 索引 (包含)(不包含)
List<?> list2 = list1.subList(fromIndex, toIndex);
return list2;
}
public static void main(String[] args) {
List<String> str=new ArrayList<>();
str.add("das");
str.add("das2");
str.add("das3");
str.add("das4");
str.add("das5");
str.add("das6");
str.add("das7");
str.add("das8");
str.add("das9");
str.add("das10");
str.add("das11");
str.add("das12");
str.add("das13");
str.add("das14");
List<String> str2=(List<String>) page(5, 2,str);
str2.forEach(System.err::println);
}
}