1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package com.cosylab.util;
21
22 import java.util.Iterator;
23
24
25
26
27
28
29
30
31
32 public class ArrayIterator<T> implements Iterator<T> {
33 private int index = 0;
34 private T[] array;
35 private int length;
36
37 public ArrayIterator(T[] array, int length) {
38 if(array == null && length > 0) {
39 throw new IllegalArgumentException("Array iterator's length is non-zero, but no array is given.");
40 }
41 if(length < 0) {
42 throw new IllegalArgumentException("Array iterator's length can not be negative.");
43 }
44 this.array = array;
45 this.length = length;
46 }
47
48 public boolean hasNext() {
49 return this.index < this.length;
50 }
51
52 public T next() {
53 return this.array[this.index++];
54 }
55
56 public void remove() {
57 throw new UnsupportedOperationException(
58 "Removing of elements with array iterator is not possible.");
59 }
60 }