Java 中的 Iterator 与 forEach
可以使用两种方法轻松地迭代集合。
使用 for-Each 循环− 使用 foreach 循环并使用对象访问数组。
使用迭代器− 使用 foreach 循环并使用对象访问数组。
差异
ConcurrentModificationException − 使用 for-Each 循环,如果修改了一个对象,则可能会发生 ConcurrentModificationException。使用迭代器,可以消除此问题。
检查大小 − 使用 for-Each,不需要检查大小。使用迭代器如果未正确使用 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: ");
//Way 1:
for (int i : list) {
System.out.print(i + " ");
}
Iterator<Integer> listIterator = list.iterator();
System.out.println("
List: ");
while(listIterator.hasNext()){
System.out.print(listIterator.next() + " ");
}
}
}输出
List: 1 2 3 4 5 6 List: 1 2 3 4 5 6
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP