checkpoint
[sbp.git] / src / edu / berkeley / sbp / util / ArrayIterator.java
1 package edu.berkeley.sbp.util;
2 import java.util.*;
3
4 public final class ArrayIterator<T> implements Iterator<T>, Iterable<T> {
5
6     private final T[] array;
7     private int start;
8     private int len;
9     private int i = 0;
10
11     public ArrayIterator(T[] array) { this(array, 0, array.length); }
12     public ArrayIterator(T[] array, int start, int len) {
13         this.start = start;
14         this.len = len;
15         this.array = array;
16         this.i = start;
17     }
18
19     public void    remove()       { throw new Error(); }
20     public boolean hasNext()      { return i<start+len; }
21     public T       next()         { return array[i++]; }
22     public Iterator<T> iterator() { return this; }
23 }