java把List集合分成一定容量的n个数组
最近在做一个项目进行邮件群发时候,需要暗送一定量地址,但是每次发送总量不定,最后自己抽时间做了个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;}