存缓中的java-内存分页

public class PageBySubListUtil {

	/**
	 * 分页方法
	 * 
	 * @param list 源数据
	 * @param currentPage 当前页页码,从1开始记
	 * @param pageSize 每页显示几条
	 * @return
	 */
	public static <T> List<T> getPageList(List<T> list, int currentPage, int pageSize) {
        if(list == null || list.size() == 0){
            return null;
        }
        int total = list.size();
        
		// 总页数
		int pageNum = total % pageSize == 0 ? total / pageSize : total / pageSize + 1; //总页数

        if(currentPage < 1 || currentPage > pageNum){
            return null;
        }
        
		int fromIndex = 0; // 从哪里开始截取
		int toIndex = 0; // 截取几个
		if (list == null || list.size() == 0) {
			return null;
		}
		// 当前页小于或等于总页数时执行
		if (currentPage <= pageNum && currentPage != 0) {
			fromIndex = (currentPage - 1) * pageSize;
			if (currentPage == pageNum) {
				toIndex = list.size();
			} else {
				toIndex = currentPage * pageSize;
			}

		}
		return list.subList(fromIndex, toIndex);
	}
	
	
	
	public static void main(String[] args) {
		List<Integer> list = new ArrayList<Integer>();
		list.add(111);
		list.add(222);
		list.add(333);
		list.add(444);
		list.add(555);
		list.add(666);
		list.add(777);
		list.add(888);
		list.add(999);
		list.add(1000);
		
		int count = list.size();
		int currentPage =3;
		int pageSize = 4;
//		int pageNum = 2;
		int totalPage=(count%pageSize==0)?(count/pageSize):(count/pageSize+1);
		System.out.println("总页数:" + totalPage);
		
		List<Integer> pageList = getPageList(list, currentPage, pageSize);
		for (Integer i : pageList) {
			System.out.println(i);
		}
		
		
	}
	
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值