这里写目录标题
一.迭代器的执行原理:
while(iterator.hasNext()){
System.out.println(iterator.next());
}
刚开始指针指向123的上面
1.hasnext():
判断是否还有下一个元素:
2.next():
- 1.指针下移
- 2.将下移以后集合位置上的元素返回
3.整个的执行过程为:
最开始指针在123的上面,通过hasNext()判断下一个元素是否为空,如果不为空返回true,然后调用next(),将指针下移,返回下移后的集合位置的元素值。以此类推。直到最后一行,hasNext()判断的下一个元素为空,返回false,终止循环。
注意:集合对象每次调用iterator()方法得到一个全新的迭代器对象,默认游标都在集合的以一个元素之前。
二.iterator遍历集合的两种写法:
首先定义一个集合。
1.写法一:
不推荐使用
2.写法二:
三.iterator遍历集合的两种错误写法:
1.错误写法一:
2.错误写法二:
这种写法会出现死循环。
四.Iterator集合中的remove()方法:
内部定义了remove(),可以在遍历的时候,删除集合中的元素。此方法不同于集合调用的remove()方法
注:在没有调用next()之前不要调用remove(),这样会容易报IllegalStateException异常,原因是可能此时指针在集合第一个元素的上一个位置。