Java 泛型实现 Iterable 接口

更新于 2025-12-26

你可以让你自己的集合类与 Java 的增强 for 循环(for-each loop)一起使用。为此,你的类必须实现 java.lang.Iterable<E> 接口。

下面是一个非常基础的示例:

public class MyCollection<E> implements Iterable<E> {
    public Iterator<E> iterator() {
        return new MyIterator<E>();
    }
}

下面是对应的 MyIterator 类的基本实现骨架:

public class MyIterator<T> implements Iterator<T> {
    public boolean hasNext() {
        // 实现...
    }

    public T next() {
        // 实现...
    }

    public void remove() {
        // 如果支持的话,实现此方法。
    }
}

以下是使用泛型化的 MyCollection 类并配合增强 for 循环的示例:

public static void main(String[] args) {
    MyCollection<String> stringCollection = new MyCollection<String>();
    for (String string : stringCollection) {
        // 遍历元素
    }
}