17370845950

在Java中如何使用Iterator遍历集合
Iterator是Java中遍历集合的标准方式,通过hasNext()和next()方法实现元素访问,使用remove()方法可在遍历时安全删除元素,避免ConcurrentModificationException异常。

在Java中,Iterator 是用于遍历集合元素的标准方式之一。它提供了一种统一的方法来访问集合中的每个元素,而无需暴露集合的底层结构。下面介绍如何使用 Iterator 遍历集合。

获取Iterator对象

所有实现 Collection 接口的集合类(如 ArrayList、HashSet、LinkedList 等)都提供了 iterator() 方法,用于返回一个 Iterator 对象。

示例:

// 创建一个ArrayList并添加元素
List list = new ArrayList();
list.add("apple");
list.add("banana");
list.add("orange");

// 获取Iterator
Iterator it = list.iterator();

使用Iterator遍历集合

通过 Iterator 提供的两个核心方法进行遍历:

  • hasNext():判断是否还有下一个元素,返回 boolean 值。
  • next():返回下一个元素,并将指针后移。

结合 while 循环即可完成遍历:

// 遍历并打印每个元素
while (it.hasNext()) {
  String item = it.next();
  System.out.println(item);
}

删除集合中的元素

如果在遍历过程中需要删除当前元素,应使用 Iterator 的 remove() 方法,而不是集合自身的 remove() 方法,否则会抛出 ConcurrentModificationException 异常。

示例:删除值为 "banana" 的元素

while (it.hasNext()) {
  String item = it.next();
  if ("banana".equals(item)) {
    it.remove(); // 安全删除
  }
}

基本上就这些。Iterator 适用于 List、Set 等大多数集合类型,是安全且通用的遍历方式,尤其适合边遍历边删除的场景。