Java中的Iterator vs forEach

可以使用两种方法轻松地迭代集合。

  • 使用for-Each循环-使用foreach循环并使用object访问数组。

  • 使用迭代器-使用foreach循环并使用object访问数组。

差异性

  • ConcurrentModificationException-使用for-Each循环,如果修改了对象,则可能会发生ConcurrentModificationException。使用迭代器,可以消除此问题。

  • 大小检查-使用每次检查,不需要大小检查。如果hasNext()未正确使用迭代器,则可能发生NoSuchElementException。

  • 性能-两种情况下的性能相似。

以下是使用上述方式的示例。

示例

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

public class Tester {

   public static void main(String[] args) {

      List<Integer> list = new ArrayList<>();

      list.add(1);list.add(2);list.add(3);

      list.add(4);list.add(5);list.add(6);

      System.out.println("List: ");

      //方式1:

      for (int i : list) {

         System.out.print(i + " ");

      }

      Iterator<Integer> listIterator = list.iterator();

      System.out.println("\nList: ");

      while(listIterator.hasNext()){

         System.out.print(listIterator.next() + " ");

      }

   }

}

输出结果

List:

1 2 3 4 5 6

List:

1 2 3 4 5 6

以上是 Java中的Iterator vs forEach 的全部内容, 来源链接: utcz.com/z/331032.html

回到顶部