以下内容为B站动力节点的JAVA基础课程2024全部内容,课程链接如下:https://www.bilibili.com/video/BV1Eb4y1P7iq,该笔记根据课程资料整理,顺序按照课程PPT截图整理,附有部分个人的问题和重点整理,如有侵权请联系下架,后续会持续更新整理课程中的重难点,课程中有很多重点和细节部分值得反复思考、消化,个人觉得是很不错的JAVA课程
第七章 集合
Collection的继承机构
泛型
迭代时删除元素
Iterator
是Java中的一个接口,它允许你遍历一个集合(Collection),如列表(List)、集合(Set)等,而不需要关心集合的底层实现。Iterator
提供了一种统一的方法来访问和操作集合中的元素。
以下是 Iterator
接口的一些关键点:
-
接口定义:
Iterator
接口定义了三个方法:hasNext()
,next()
, 和remove()
。 -
hasNext(): 此方法用来检测迭代器是否还有更多的元素可以迭代。
-
next(): 此方法返回迭代的下一个元素。
-
remove(): 此方法从集合中移除
next()
方法返回的最后一个元素。注意,remove()
操作必须在调用next()
方法之后和再次调用next()
或hasNext()
之前执行。 -
Fail-Fast 行为:
Iterator
接口的实现通常是“快速失败”的,这意味着如果集合在迭代过程中被修改(除了通过迭代器自身的remove()
方法),迭代器会立即抛出ConcurrentModificationException
。 -
使用场景: 当你需要遍历集合中的元素,并且不需要关心集合的具体类型时,使用
Iterator
是一个很好的选择。 -
与普通循环的区别: 使用
Iterator
可以避免使用索引来遍历集合,这使得代码更加简洁和安全。
示例代码:
import java.util.ArrayList;
import java.util.Iterator;
public class IteratorExample {
public static void main(String[] args) {
ArrayList