Java中Iterator详解

tech2025-12-22  1

一、Iterator简介

Iterator翻译过来是迭代器的意思,通过它可以对集合进行访问,可用于迭代 ArrayList 和 HashSet 等集合。

迭代器 it 的基本操作是 next 、hasNext 和 remove。

调用 it.next() 会返回迭代器的下一个元素,并且更新迭代器的状态。

调用 it.hasNext() 用于检测集合中是否还有元素。

调用 it.remove() 将迭代器“指向”元素删除。

可以把它理解成指针,通过指针的移动实现对元素的遍历等操作

二、Iterator的使用

Collection collection=new ArrayList(); collection.add(123); collection.add(456); collection.add(789); collection.add(new Student("Tom",19)); Iterator iterator = collection.iterator(); while (iterator.hasNext()){ System.out.println(iterator.next()); } 123 456 789 Student{name='Tom', age=19}

三、Iterator的注意事项

集合在每次调用iterator()方法时都会得到一个全新的迭代器对象

Collection collection=new ArrayList(); collection.add(123); collection.add(456); collection.add(789); collection.add(new Student("Tom",19)); Iterator iterator = collection.iterator(); while (iterator.hasNext()){ System.out.println(iterator.next()); } System.out.println("--------------------"); while (iterator.hasNext()){//这个Iterator和上面的Iterator一样,hasnext()为false System.out.println(iterator.next()); } System.out.println("--------------------"); while (collection.iterator().hasNext()){ System.out.println(collection.iterator().next()); //这里每次得到的是新的Iterator,导致死循环 } 123 456 789 Student{name='Tom', age=19} -------------------- -------------------- 123 123 123 123 123 123
最新回复(0)