将list集合切割成多个大小一样的list

   日期:2020-10-31     浏览:102    评论:0    
核心提示:private static <T> List<List<T>> splitList(List<T> list, int pageSize) { int listSize = list.size(); int page = (listSize + (pageSize - 1)) / pageSize;//切割集合总个数 List<List<T>> listArray = new ArrayList<List<T&

	private static <T> List<List<T>> splitList(List<T> list, int pageSize) { 
		int listSize = list.size();
		int page = (listSize + (pageSize - 1)) / pageSize;//切割集合总个数
		List<List<T>> listArray = new ArrayList<List<T>>();//存放所有被切割的集合
		for (int i = 0; i < page; i++) { 
			List<T> subList = new ArrayList<T>();//每个被切割的集合
			for (int j = 0; j < listSize; j++) { 
				int pageIndex = ((j + 1) + (pageSize - 1)) / pageSize;//计算出该元素属于哪个集合
				if (pageIndex == (i + 1)) { //判断集合是否匹配,匹配则将元素添加到切割集合中
					subList.add(list.get(j));
				}
				if ((j + 1) == ((j + 1) * pageSize)) { //如果页数是1,表示会产生listSize数量的集合,此处循环一次即可,节省代码执行速度
					break;
				}
			}
			listArray.add(subList);
		}

		return listArray;
	}
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服