eniallator

Java Iterator/Iterable Example

Dec 13th, 2020 (edited)
825
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.11 KB | None | 0 0
  1. import java.util.Iterator;
  2.  
  3. class IteratorExample<E> implements Iterator<E> {
  4.     private int index;
  5.     private E[] myArray;
  6.  
  7.     public IteratorExample(E[] arr) {
  8.         myArray = arr;
  9.         index = 0;
  10.     }
  11.  
  12.     @Override
  13.     public boolean hasNext() {
  14.         return index < myArray.length;
  15.     }
  16.  
  17.     @Override
  18.     public E next() {
  19.         E el = myArray[index];
  20.         index += 1;
  21.         return el;
  22.     }
  23. }
  24.  
  25. class IterableExample<T> implements Iterable<T> {
  26.     private T[] myEls;
  27.  
  28.     public IterableExample(T[] els) {
  29.         myEls = els;
  30.     }
  31.  
  32.     @Override
  33.     public Iterator<T> iterator() {
  34.         return new IteratorExample<T>(myEls);
  35.     }
  36.  
  37.     public static void main(String[] args) {
  38.         IterableExample<String> iterable = new IterableExample<>(new String[] { "foo", "bar", "baz" });
  39.  
  40.         for (String str : iterable) {
  41.             System.out.println(str);
  42.         }
  43.  
  44.         // Same as:
  45.  
  46.         Iterator<String> iterator = iterable.iterator();
  47.         while (iterator.hasNext()) {
  48.             System.out.println(iterator.next());
  49.         }
  50.     }
  51. }
  52.  
Advertisement
Add Comment
Please, Sign In to add comment