你可以让你自己的集合类与 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) {
// 遍历元素
}
}