欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java 对组合list进行分页

程序员文章站 2024-01-20 22:10:22
...

对组合list进行分页两个核心点:

Math.ceil()方法向上取整确定page和limit,List.subList()分割集合根据公式实现分页。因为使用场景不多,所以我就直接简单点取List,大家可以根据自己的需求进行改进和封装。

        public static List listPagae(List list,Integer page,Integer limit){
		int initPage=1;//初始化分页
		List resData=null;

		if(list==null || list.size()<=0) return list;
		if(page==null || page<=0) return list;
		if(limit==null ||limit<=0 ) return list;

		int count=list.size();//总数

		//page*limit > count
		if(page*limit > count){
			page=(int)Math.ceil((double)count/limit);//向上取整
			if(page<=1){
				page=initPage;
				limit=count;
			}
		}

		resData=list.subList((page-1)*limit,page*limit);

		return resData;
	}

	public static void main(String [] args){
		String str="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20";
		List<String> list=new ArrayList<String>();
		list.addAll(Arrays.asList(str.split(",")));

		int page=1;
		int limit=10;
		List<String> data=listPagae(list,page,limit);
		System.out.println(data.toString());
	}

 

相关标签: java