微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决在Java中使用迭代器有什么好处

该 与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()

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

解决方法

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

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时会是一个好的情况吗?

谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。