【发布时间】:2017-05-02 09:11:02
【问题描述】:
我正在尝试遍历 ArrayList 并打印其中的每个元素,但它只输出 ArrayList 中的第一个元素。然后是一个无限循环,它不断打印出第一个元素。
ArrayList<String> startTime = new ArrayList<String>();
for (int i = 0; i < startTime.size(); i++) {
String getTime = startTime.get(i);
getTime = convertTime(getTime);
startTime.add(i, getTime);
System.out.println(startTime.get(i));
}
【问题讨论】:
-
那是因为您在循环中调用了
startTime.add(i, getTime);- 您在循环的每次迭代中都向列表中添加了一个元素。为什么要添加那行?删除它。 -
鉴于这里的代码,我不知道为什么您会期望有什么不同,您正在访问数组列表,然后添加到它。因此,无穷大。
-
这是因为您一次又一次地获取数据、覆盖它、获取数据、覆盖它等等,直到无穷大。没有尽头。当你达到某个基准并在那里打破时,也许你可以设置一个 if else 条件。
标签: java for-loop arraylist iterator