java集合的迭代器与遍历

2023-12-13 12:35:17

1、什么是Iterator
  一些集合类提供了内容遍历的功能,通过java.util.Iterator接口。这些接口允许遍历对象的集合。依次操作每个元素对象。当使用 Iterators时,在获得Iterator的时候包含一个集合快照。通常在遍历一个Iterator的时候不建议修改集合本身。
  2、Iterator与ListIterator有什么区别?
  Iterator:只能正向遍历集合,适用于获取移除元素。ListIerator:继承Iterator,可以双向列表的遍历,同样支持元素的修改。

2,iterator接口的API

 boolean hasNext()  如果仍有元素可以迭代,则返回 true。
 E next() 返回迭代的下一个元素。
 void remove()  从迭代器指向的集合中移除迭代器返回的最后一个元素(可选操作)。

3、Irerator()方法细节解释

Iterator iterator = col.iterator();//获取迭代器对象
hasNext(): 判断游标右边是否还有下一个元素,默认游标都在集合的第一个元素之前。
注意:此时只是判断是否有下一个元素,并不移动指针。
while(iterator.hasNext()){
//next():①指针下移 ②将下移以后集合位置上的元素返回
Object next = iterator.next();
System.out.println(“next=”+next);
}

在这里插入图片描述
1、如果iterato.next()指向的内存中如果没有元素会抛出异常
2、当退出while后,iterator.hasNext()中next已经走到尾部,若继续调用iterator.hasNext()将会报错(若要继续遍历,可通过重置迭代器解决)
3、void remove()方法 :删除当前指针所指向的元素,一般和next方法一起用,这时候的作用就是删除next方法返回的元素,如果当前指针指向的内存中没有元素,那么会抛出异常

文章来源:https://blog.csdn.net/CNCDXX_88/article/details/134967387
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。