Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Iterator;
- class IteratorExample<E> implements Iterator<E> {
- private int index;
- private E[] myArray;
- public IteratorExample(E[] arr) {
- myArray = arr;
- index = 0;
- }
- @Override
- public boolean hasNext() {
- return index < myArray.length;
- }
- @Override
- public E next() {
- E el = myArray[index];
- index += 1;
- return el;
- }
- }
- class IterableExample<T> implements Iterable<T> {
- private T[] myEls;
- public IterableExample(T[] els) {
- myEls = els;
- }
- @Override
- public Iterator<T> iterator() {
- return new IteratorExample<T>(myEls);
- }
- public static void main(String[] args) {
- IterableExample<String> iterable = new IterableExample<>(new String[] { "foo", "bar", "baz" });
- for (String str : iterable) {
- System.out.println(str);
- }
- // Same as:
- Iterator<String> iterator = iterable.iterator();
- while (iterator.hasNext()) {
- System.out.println(iterator.next());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment