最近在做一个项目进行邮件群发时候,需要暗送一定量地址,但是每次发送总量不定,最后自己抽时间做了个List集合转一定量数组的工具方法,弄出来共享,希望大家给优化优化,觉得太罗嗦了
public List<Object []> listToArray(List<Object> list,int bccSize){
List<Object []> list2 = new ArrayList<Object []>();
Object arr[]=null;
for(int j=1,len=list.size()+1;j<len;j++){
if(j==1){
if(len>bccSize){ //初始化数组大小
arr=new Object[bccSize];
}else{
arr=new Object[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 Object[bccSize];
//不允许数组有空值创建最后一个数组的大小(如果都要一定大小可以去掉)
}else{
arr=new Object[len-(bccSize*list2.size())-1];
}
}else if(j==len-1){
list2.add(arr);//最后一个数组可能没有规定大小
}
}
return list2;
}