optimizations to IntPairMap.java
[sbp.git] / src / edu / berkeley / sbp / util / ArrayIterator.java
1 // Copyright 2006-2007 all rights reserved; see LICENSE file for BSD-style license
2
3 package edu.berkeley.sbp.util;
4 import java.util.*;
5
6 public final class ArrayIterator<T> implements Iterator<T>, Iterable<T> {
7
8     private final T[] array;
9     private int start;
10     private int len;
11     private int i = 0;
12
13     public ArrayIterator(T[] array) { this(array, 0, array.length); }
14     public ArrayIterator(T[] array, int start, int len) {
15         this.start = start;
16         this.len = len;
17         this.array = array;
18         this.i = start;
19     }
20
21     public void    remove()       { throw new Error(); }
22     public boolean hasNext()      { return i<start+len; }
23     public T       next()         { return array[i++]; }
24     public Iterator<T> iterator() { return this; }
25 }