在Java中使用迭代器有什么好处

我正在浏览以下代码示例:

public class GenericTest {

public static void main (String[] args) {

ArrayList<String> myList = new ArrayList<String>();

String s1 = "one";

String s2 = "two";

String s3 = "three";

myList.add(s1); myList.add(s2); myList.add(s3);

String st;

Iterator<String> itr = myList.iterator();

while (itr.hasNext()) {

st = itr.next();

System.out.println(st);

}

}

}

我想知道使用Iterator接口的实现而不是使用普通的for-each循环有什么好处?

 for ( String str : myList ) {

System.out.println(str);

}

如果此示例不相关,那么当我们应该使用Iterator时会是一个好的情况吗?

谢谢。

回答:

该 与Java 5中引入的,所以它不是那么“老”。

如果只想迭代一个集合,则应为每个循环使用

for (String str : myList) {

System.out.println(str);

}

但是有时hasNext()“普通的” 方法对于检查 是否还有更多元素非常有用。

for (Iterator<String> it = myList.iterator(); it.hasNext(); ) {

String str = it.next();

System.out.print(str);

if (it.hasNext()) {

System.out.print(";");

}

}

您也可以调用it.remove()以删除next返回的最新元素。

ListIterator<E>提供双向遍历it.next()it.previous()

因此,它们不是等效的。两者都需要。

以上是 在Java中使用迭代器有什么好处 的全部内容, 来源链接: utcz.com/qa/414898.html

回到顶部