Java把List分成一定容量的n个数组

数组的长度length是long型的,理论上长度是没有限制的,但是一次存储的数据过多时,内存装不下,所以我可以拆分成多个数组

 

public static List<String[]> listToArray(List<String> list,int bccSize){
List<String []> list2 = new ArrayList<String []>();
String arr[]=null;
for(int j=1,len=list.size()+1;j<len;j++){
if(j==1){
if(len>bccSize){ //初始化数组大小
arr=new String[bccSize];
}else{
arr=new String[len-1];
}
}
arr[j-(bccSize*list2.size())-1]=list.get(j-1);  //给数组赋值
if(j%bccSize==0){
list2.add(arr);  //数组填值满后放到集合中
if(len-j-1>bccSize){
arr=new String[bccSize];
//不允许数组有空值创建最后一个数组的大小(如果都要一定大小可以去掉)
}else{ 
arr=new String[len-(bccSize*list2.size())-1];
}
}else if(j==len-1){
list2.add(arr);//最后一个数组可能没有规定大小
}
}
 
return list2;
}

 

 

还有一种更简单的方法,利用List接口的subList(int start,int end)方法来实现

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值