learningcsdn 2016-04-21 09:45 采纳率: 100%
浏览 1409

数组分割问题,求大神提示

如下面一个类,类中有一个属性是list,现在要对list分割,比如 每10条 为一个list。
例如,list长度为25.然后分割后的结果为三个 Base,Base中list分别为10,10 ,5

 public class Base {

    private List<Object> list;
}

我是想写一个公共的工具,然后在项目中使用,想了半天没想到什么通用的方法,好头疼,求大神提示

这是我写的一个分割链表的工具,但是现在这个链表是放在一个类中的,改怎么实现呢?

```private void cutAndSend (String queueName, List list) {
List temp = new ArrayList();
for (int i = 0; i < list.size();) {
if (i + LEN < list.size()) {
int j = i + LEN;
while (i < j) {
temp.add(list.get(i++));
}
i = j;
//temp 就是分割好的,可以调用其他方法使用
temp.clear();
} else {
while (i < list.size()) {
temp.add(list.get(i++));
}
//temp 就是分割好的,可以调用其他方法使用
temp.clear();
}
}
}





  • 写回答

3条回答

  • 卟卢卟卢小卟卢 2016-04-21 11:33
    关注

    虽然没有看懂你写的,但是对list进行指定长度的分割可以这样实现:
    public List cutList(int length,List list){

       List<Base> baseList = new ArrayList<Base>();
    
       int i = list.size() / length;
    
       for(int x =0; x<i;x++){
           Base base = new Base();
           list.subList(x*length, x*length+length-1);
           baseList.add(base);
       }
       if(list.size() % length !=0){
           Base base = new Base();
           list.subList((i-1)*length, (i-1)*length+(list.size() % length)); 
           baseList.add(base);
       }
       return baseList;
    }
        可能实现的方法比较复杂,但是我想到的只有这种方法了。。。
    
    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 专家已采纳回答 1月8日

悬赏问题

  • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿