java - 嵌套列表迭代器。程序不会终止

标签 java iterator

下面是我的程序。

public class NewClass {
    public static void main(String[] args) {
        List<String> cars = new ArrayList<String>();
        cars.add("Maruti");
        cars.add("Hundai");
        cars.add("Polo");
        Iterator<String> literate1 =  cars.iterator();
        while (literate1.hasNext()){
            System.out.println(literate1.next());
            literate1.remove();
            Iterator<String> literate2 =  cars.iterator();
            while (literate2.hasNext()){
            }
        }
    }
}

输出

Maruti

在打印这个结果之后,程序并没有终止。你能解释一下这是怎么回事吗?

最佳答案

literate2.hasNext() 总是返回 true。所以 while 循环永远不会结束。

关于java - 嵌套列表迭代器。程序不会终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44455567/

相关文章:

java - 使用特定的 Adaptavist 标签运行测试

java - 第二次迭代 - 值保持不变

c++ - 为什么它需要它!=obj.end() 尽管每个迭代器都应该知道自己何时终止?

java - 如何用Java实现过滤迭代器?

python - 如何将多个for循环组合成一个生成器python

python - 使用一维作为循环中的迭代器剩余维度迭代 3D numpy

java - aspectj可以给java.lang.String添加方法吗

java - 2个具有不同配置的@RestControllers

java - 使用 JOINED 继承策略的 Hibernate 显式多态性

java - 哪个是 fork 嵌套对象列表列表的有效方法? java 8平面图与每个?