import java.util.ArrayList;
import java.util.List;
/**
* @author ryx
* @ProjectName XXXX
* @Description: 对数据进行分页管理
* @date 2018/9/23 002317:08
*/
public class PageUtils {
/**
* 方法功能描述:
*
* @param: List a 需要分页的集合 当前页page 当前页条数 limit
* @return: 分页以后的当前页的 条数
* @auther: ryx
* @date: 2018/9/23 0023 17:17
*/
public static List listPage(List before, Integer page, Integer limit) {
List affterList = new ArrayList<>();
if (null != before && before.size() > 0) {
int size = before.size();
//设置总页数
if (size <= limit) {
affterList = before;
} else {
int numberOfPages = size % limit == 0 ? size / limit : size / limit + 1;
if (page > 0) {
if (page < numberOfPages) {
affterList = before.subList((page - 1) * limit, page * limit);
} else if (page == numberOfPages) {
//最后一页的话
affterList = before.subList((numberOfPages - 1) * limit, size);
} else {
throw new RuntimeException("数组下标越界,分页页数与当页条数不对.");
}
} else {
throw new RuntimeException("数组下标越界,分页页数与当页条数不对.");
}
}
return affterList;
} else {
throw new RuntimeException("数组下标越界,分页页数与当页条数不对.");
}
}
}