JAVA-subList返回FOR循环内部的空列表
我面临着以下问题。 我有一个列表总数(大小:S),我需要将其拆分为N个连续块。代码如下:JAVA-subList返回FOR循环内部的空列表,java,Java,我面临着以下问题。 我有一个列表总数(大小:S),我需要将其拆分为N个连续块。代码如下: int start_index, end_index; for(int i = 0; i < N; i++){ start_index = (S/N)*i; end_index = start_index + (S/N) - 1; List<String> SUBblock = TOTAL.subLi
int start_index, end_index;
for(int i = 0; i < N; i++){
start_index = (S/N)*i;
end_index = start_index + (S/N) - 1;
List<String> SUBblock = TOTAL.subList(start_index, end_index-1);
System.out.println("block "+i+": from "+start_index+" to "+end_index);
System.out.println("block "+i+": "+SUBblock .toString());
}
int开始索引,结束索引;
对于(int i=0;i
索引正确:第一个System.out.println
工作正常。
但是子块
总是空的。
for循环外部的子列表调用工作正常:例如,TOTAL.subList(0,2)
按预期返回第一个和第二个元素
这里有什么我遗漏的吗?我想你在计算开始和结束指数时犯了一个错误。尝试以下代码
for(int i = 0; i < N; i++){
start_index = (S/N)*i;
end_index = start_index + (S/N);
List<String> SUBblock= (TOTAL.subList(start_index, end_index));
System.out.println("block "+i+": from "+start_index+" to "+end_index);
System.out.println("block "+i+": "+SUBblock .toString());
}
for(int i=0;i
什么是列表总数(大小:S)
??你是用小尺寸创建的吗?@Jordi一个名为TOTAL
的列表,其大小为S
end\u index-1
看起来可疑。你知道传递给子列表的结束索引不包括在内,对吧?嗯,我明白了S
是最终变量吗?哪个值?。。。在这里输入问题涉及的重要对象会很好。…@Arkadiy它应该是end\u index+1
(键入错误)。现在它工作了!谢谢