Java把List分成一定容量的n个数组
程序员文章站
2022-07-15 12:02:16
...
数组的长度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)方法来实现