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
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西