在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