java list集合分组_List集合按Size分组

package test.transsion;

import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

public class ListGroupTest {

/*

* 方法一:效率比较低

* public static void main(String[] args) {

* //分组记录数

* int pageSize=5;

* // 原始数据

* List list=newArrayList(Arrays.asList("a","b","c","d","e","f","g","h"));

* //分组数据

*  List> listGroup=new ArrayList>();

*  //重新组装数据

*  int groupSize=0;

*   if(list !=null && list.size()>0){

*   if(list.size()% pageSize ==0){

*   groupSize=list.size()/pageSize;

*   }else{

* groupSize=list.size()/pageSize+1;

* }

* }

* for(int j=0;j

* //重构数据

*  List dataList=new ArrayList<>();

*  int temp=pageSize*(j+1);

* if(temp>list.size()){

*  temp=list.size();

*  }

*  for(int i=pageSize*j;i

*  dataList.add(list.get(i));

*  }

* listGroup.add(dataList);

* }

* System.out.println(listGroup);

* }

*/

//方法二:效率比较高 备注:pageSize集合显示的分组个数,soruceDatas为集合原数据

private static List> groupByList(List sourceDatas,

int pageSize) {

// 分组集合

List> groupLists = new ArrayList>();

// 分组数据

List tempDatas = new ArrayList();

if(sourceDatas !=null && pageSize>0){

for (int i = 0; i 

if (i % pageSize == 0) {

if (!tempDatas.isEmpty()) {

groupLists.add(tempDatas);

}

tempDatas=new ArrayList();

tempDatas.add(sourceDatas.get(i));

} else {

tempDatas.add(sourceDatas.get(i));

}

}

}

if (!tempDatas.isEmpty()) {

groupLists.add(tempDatas);

}

return groupLists;

}

public static void main(String[] args) {

// 分组记录数

int pageSize = 5;

// 原始数据

List list = new ArrayList(Arrays.asList("a", "b", "c",

"d", "e", "f", "g", "h"));

System.out.println(groupByList(list, pageSize));

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值