Java Iterator

class xx implements Iterable<Integer> {

    public static class MyIterator implements Iterator<Integer> {

    @Override

    public boolean hasNext();

    public Integer next();

    public void remove();

    }

}

public class MyArray implements Iterable {

  // ...

  // Only arr is needed now as an instance variable.

  // int start;

  // int end;

  int[] arr;

  // myIterator it;

  /**

   *  From interface Iterable.

   */

  public Iterator<Integer> iterator() {

    return new Iterator<Integer>() {

      // The next array position to return

      int pos = 0;

      public boolean hasNext() {

        return pos < arr.length;

      }

      public Integer next() {

        if(hasNext())

          return arr[pos++];

        else

          throw new NoSuchElementException();

      }

      public void remove() {

        throw new UnsupportedOperationException();

      }

    }

  }

}