我是靠谱客的博主 无限发夹,最近开发中收集的这篇文章主要介绍Iterator迭代器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在程序开发中,经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口java.util.IteratorIterator 主要用于迭代访问(即遍历)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()方法将元素取出,否则说明已到达了集合末尾,停止遍历元素。

在这里插入图片描述

注意:

  1. 若迭代器的指针已经指向集合末尾,那么再调用next()会返回NoSuchElementException异常
  2. 如果调用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迭代器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部