为什么我们需要在Java中对ArrayList使用迭代器?

在回答中,用户说了这样的话:“带有ArrayLists的迭代器的一个大用例是,当您要在迭代时删除元素时”。

即使使用Java中的ArrayList的remove方法也可以实现。我的问题是为什么我们在ArrayList中需要迭代器?

考虑以下代码:

import java.util.*;

public class ocajp66 {

public static void main(String[] args) {

ArrayList a = new ArrayList();

for (int i = 0; i < 10; i++) {

a.add(i);

}

System.out.printf("BEFORE ITERATOR\n");

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

System.out.printf("I:%d\n", a.get(i));

}

System.out.printf("AFTER ITERATOR\n");

Iterator i = a.iterator();

while (i.hasNext()) {

System.out.printf("I:%d\n", i.next());

}

}

}

谁能解释迭代器的意义?如果可以用代码解释我,那将是很棒的。

回答:

如前所述,迭代器用于迭代数组内容时要删除的内容。如果您不使用迭代器,而仅使用for循环,并且在其中使用remove方法,则将获得异常,因为在迭代过程中数组的内容会更改。例如:您可能认为for循环开始时的数组大小为10,但是一旦删除内容就不会是这种情况。因此,当您到达最后一个循环时,可能会出现IndexOutofBoundsException等。

以上是 为什么我们需要在Java中对ArrayList使用迭代器? 的全部内容, 来源链接: utcz.com/qa/404188.html

回到顶部