Java Generics - Implementing the Iterable Interface
Jakob Jenkov |
It is possible to use your own collection type classes with the new for-loop.
To do so, your class must implement the java.lang.Iterable<E>
interface.
Here is a very basic example:
public class MyCollection<E> implements Iterable<E>{ public Iterator<E> iterator() { return new MyIterator<E>(); } }
And here is the corresponding implementation skeleton of the MyIterator
class:
public class MyIterator <T> implements Iterator<T> { public boolean hasNext() { //implement... } public T next() { //implement...; } public void remove() { //implement... if supported. } }
Here is how to use the MyCollection
generified, and with the new
for-loop:
public static void main(String[] args) { MyCollection<String> stringCollection = new MyCollection<String>(); for(String string : stringCollection){ } }
Next: Java Generic's Wildcards
Tweet | |
Jakob Jenkov |