将整数列表转换为块

时间:2014-11-24 05:47:35

标签: java

我正在读取一个64000值的ArrayList,一次读取64个值。读取64个值后,应将其转换为数组,并清除列表以容纳第二组64个值。这个方法应该继续,直到它到达原始列表的末尾。我写了下面的代码,但看起来我的输出列表返回超过64个值,这不是我的目标。任何人都可以告诉我我做错了什么?

 ArrayList<Integer> output = extractIntegers(array);//some method in the code
 for(int i=0;i<output.size();i+=64)
 {
     blocks.addAll(output.subList(i, i+64));
     Integer[] b = blocks.toArray(new Integer[blocks.size()]);
     System.out.println(b);
     b = null;
 }

2 个答案:

答案 0 :(得分:1)

这应该有效

ArrayList<Integer> output = extractIntegers(array);//some method in the code
for(int i=0;i<output.size();i+=64)
{                
    blocks=output.subList(i, i+64);
    Integer[] b=blocks.toArray(new Integer[blocks.size()]);

    System.out.println(b);  
}

答案 1 :(得分:0)

您是否在每次迭代结束时清空blocks?已发布的代码并未显示可能导致问题的原因。