gpt4 book ai didi

java - For 循环 : how is changing ArrayList size interpreted?

转载 作者:行者123 更新时间:2023-12-03 23:06:01 25 4
gpt4 key购买 nike

当 for 循环由 ArrayList 的大小控制时

(...; i < someArrayList.size(); ...)

但是循环的每次迭代都会向列表中添加一个元素,然后循环如何识别大小正在变化?我会认为,一旦代码被发送到编译器,它就会看到一次大小,然后执行直到达到原始大小,但显然不是这样。随着大小的增加,循环运行的次数也会增加。我认为它不会,所以很明显我不明白计算机是如何读取它的。我只是想知道系统如何读取这样的内容。

此外,是否有某种方法可以使循环只运行原始列表大小的次数(每次迭代再次添加元素)?假设你事先不知道大小,所以你不能输入一些常数。

最佳答案

在每次迭代开始时,计算中间的表达式。如果为真,则循环继续。如果为假,则循环中断。因此它将在每次迭代时重新评估大小。

要使其循环列表原始大小的次数,请执行以下操作:

int size = someArrayList.size();
for (i = 0 ; i < size ; i++) { ... }

或者如果你想变得花哨:

for (i = 0, size = someArrayList.size() ; i < size ; i++) { ... }

关于java - For 循环 : how is changing ArrayList size interpreted?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39809859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com