gpt4 book ai didi

java - ArrayList 子列表的索引越界

转载 作者:行者123 更新时间:2023-11-29 06:58:14 26 4
gpt4 key购买 nike

我有一个包含 11,000 个对象的 ArrayList,我想使用 ArrayList.subList() 一次处理 200 个对象。当我把它放在 for 循环中时,我得到索引越界。如何最好地控制偏移量?

for(int i = 0; i< aList.size(); i+=200){
process(aList(i,i+200));
}

最佳答案

可以得到List.size()的最小值和计数器i + 200:

for (int i = 0; i < aList.size(); i += 200) {
int min = Math.min(aList.size(), i + 200);
process(aList.subList(i, min));
}

对于 11000 个对象的情况,最后一次迭代将获取从 10800 到 10999 的子列表。

这还将考虑列表大小不正好是 200 的倍数的情况。

关于java - ArrayList 子列表的索引越界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30384526/

26 4 0