灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3807回复:0

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

楼主#
更多 发布于:2012-12-24 14:24
最近在做一个项目进行邮件群发时候,需要暗送一定量地址,但是每次发送总量不定,最后自己抽时间做了个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
游客

返回顶部