概述
在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口java.util.Iterator
。Iterator
主要用于迭代访问(即遍历)Collection
中的元素,因此 Iterator
对象也被称为迭代器。
获取迭代器的方法:
public Iterator itarator() 获取几何对应的迭代器,用来遍历集合中的元素
Iterator接口的常用方法如下:
public E next()
:返回迭代的下一个元素public boolean hasNext()
:判断是否仍有元素。若有则返回true
public class Demo{
public static void main(String[] args){
ArrayList<Integer> data = new ArrayList<>(10);
data.add(1);
data.add(2);
data.add(3);
data.add(4);
data.add(5);
data.add(6);
Iterator<Integer> iterator = data.iterator();
while(iterator.hasNext()){
Integer i = iterator.next();
System.out.Pirntln(i);
}
}
}
迭代器的实现原理
当遍历集合时,首先通过调用t集合的iterator()方法获得迭代器对象.然后使用hashNext()方法判断集合中是否存在下一个元素,如果存在,则调用next()方法将元素取出,否则说明已到达了集合末尾,停止遍历元素。
注意:
- 若迭代器的指针已经指向集合末尾,那么再调用next()会返回NoSuchElementException异常
- 如果调用remove()之前没有调用next()是不合法的,会跳出llegalStateException
Iterator与ListIterator的区别:
- Iterator可以迭代遍历Collection接口下所有类型的元素
- ListIterator只能迭代List类型的元素
ListIterator相关方法:
add(E e) 将指定的元素插入列表(可选操作)。该元素直接插入到 next 返回的下一个元素的前面(如果有)
void set(E o) 用指定元素替换 next 或 previous 返回的最后一个元素
hasPrevious() 逆向遍历列表,列表迭代器有多个元素,则返回 true。
previous() 返回列表中的前一个元素。
最后
以上就是无限发夹为你收集整理的Iterator迭代器的全部内容,希望文章能够帮你解决Iterator迭代器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复