goback add

java把List集合分成一定容量的n个数组

5740 点击·0 回帖
灯火互联
楼主
最近在做一个项目进行邮件群发时候,需要暗送一定量地址,但是每次发送总量不定,最后自己抽时间做了个List集合转一定量数组的工具方法,弄出来共享,希望大家给优化优化,觉得太罗嗦了
java代码:  
public List<Object []> listToArray(List<Object> list,intbccSize){  
       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;  
   }  

喜欢0 评分0