Java 集合框架是 Java 标准库的重要组成部分,提供了丰富的数据结构和算法支持。迭代器(Iterator)是集合框架中用于遍历集合元素的重要工具。下面详细介绍迭代器的相关概念、用法和应用场景。

1. 迭代器(Iterator)

迭代器是 Java 集合框架中用于遍历集合元素的接口。它提供了一种统一的方式来访问集合中的元素,而不暴露底层的数据结构。迭代器的主要方法包括 hasNext()next(),用于依次访问集合中的元素。

1.1 迭代器接口

迭代器接口 java.util.Iterator 定义了以下方法:

  • hasNext():返回 true 如果仍有元素可以迭代。
  • next():返回下一个元素。
  • remove():(可选)删除上一次返回的元素。
1.2 获取迭代器

获取迭代器的常用方法是调用集合类的 iterator() 方法。

1import java.util.ArrayList;
2import java.util.Iterator;
3import java.util.List;
4
5public class IteratorExample {
6    public static void main(String[] args) {
7        List<Integer> numbers = new ArrayList<>();
8        numbers.add(1);
9        numbers.add(2);
10        numbers.add(3);
11
12        Iterator<Integer> iterator = numbers.iterator();
13
14        while (iterator.hasNext()) {
15            Integer number = iterator.next();
16            System.out.println(number);
17        }
18    }
19}
1.3 迭代器的常见用法
  1. 遍历集合

    1import java.util.ArrayList;
    2import java.util.Iterator;
    3import java.util.List;
    4
    5public class IteratorExample {
    6    public static void main(String[] args) {
    7        List<String> names = new ArrayList<>();
    8        names.add("Alice");
    9        names.add("Bob");
    10        names.add("Charlie");
    11
    12        Iterator<String> iterator = names.iterator();
    13
    14        while (iterator.hasNext()) {
    15            String name = iterator.next();
    16            System.out.println(name);
    17        }
    18    }
    19}
  2. 删除元素

    1import java.util.ArrayList;
    2import java.util.Iterator;
    3import java.util.List;
    4
    5public class IteratorExample {
    6    public static void main(String[] args) {
    7        List<String> names = new ArrayList<>();
    8        names.add("Alice");
    9        names.add("Bob");
    10        names.add("Charlie");
    11
    12        Iterator<String> iterator = names.iterator();
    13
    14        while (iterator.hasNext()) {
    15            String name = iterator.next();
    16            if (name.equals("Bob")) {
    17                iterator.remove(); // 删除当前元素
    18            }
    19        }
    20
    21        System.out.println(names); // 输出: [Alice, Charlie]
    22    }
    23}
  3. 增强型 for 循环 增强型 for 循环实际上是使用迭代器的另一种形式,它更简洁且易于使用。

    1import java.util.ArrayList;
    2import java.util.List;
    3
    4public class EnhancedForLoopExample {
    5    public static void main(String[] args) {
    6        List<String> names = new ArrayList<>();
    7        names.add("Alice");
    8        names.add("Bob");
    9        names.add("Charlie");
    10
    11        for (String name : names) {
    12            System.out.println(name);
    13        }
    14    }
    15}

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部