概述
Iterator迭代器用于获取集合中的元素。一般是用于遍历集合,但是需要配合next()跟hasNext()使用。
next()返回迭代的下一个元素。其实就是获取迭代器的元素,并且移动到下一个元素的位置。(注:虽然java中已经在避免出现指针,但是形似的东西还是有的)hasNext()判断迭代器中是否有元素可以被迭代。
注意:
迭代器是依赖于集合而存在,并且,一般来说,集合中要有元素才有意义。另外在通过迭代器迭代的过程中,往集合中添加元素,这样将导致ConcurrentModificationException(并发修改异常)
解决方案:
A:用集合本身的属性作为条件for遍历集合,再修改集合。这样能添加成功,且元素添加到末尾。
B:用列表迭代器(ListIterator)迭代,用列表迭代器修改元素。遍历到哪里修改在哪里。
可以逆向遍历,但是注意:必须先正向遍历,然后才能逆向遍历。
原理:指针移动到最后再从最后移动回到开头。
JDK5的新特性:增强for循环(for-each)
格式为:
for(数据类型 变量 : 名称) {
对变量进行操作
}
数据类型和名称就是被遍历的数组或Collection集合的数据类型和名称,括号里直接对变量进行操作就可以实现对整个集合(数组)元素的操作
好处:简化了数组和Collection集合的遍历。但通过反编译以及源码查看,发现原理还是迭代器。
最后
以上就是幸福玉米为你收集整理的Iterator迭代器及增强FOR(for-each)的全部内容,希望文章能够帮你解决Iterator迭代器及增强FOR(for-each)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复