summaryrefslogtreecommitdiff
path: root/src/main/java/bjc/data/ArrayIterator.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/bjc/data/ArrayIterator.java')
-rw-r--r--src/main/java/bjc/data/ArrayIterator.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/main/java/bjc/data/ArrayIterator.java b/src/main/java/bjc/data/ArrayIterator.java
new file mode 100644
index 0000000..7778b81
--- /dev/null
+++ b/src/main/java/bjc/data/ArrayIterator.java
@@ -0,0 +1,29 @@
+package bjc.data;
+
+import java.util.Iterator;
+/**
+ * Represents an iterator over an array of values.
+ *
+ * @author Ben Culkin
+ */
+public class ArrayIterator<T> implements Iterator<T> {
+ private Object[] arr;
+ private int idx;
+
+ public ArrayIterator(T... elms) {
+ arr = elms;
+ idx = 0;
+ }
+
+ @Override
+ public boolean hasNext() {
+ return idx < arr.length;
+ }
+
+ @Override
+ public T next() {
+ if (idx >= arr.length) return null;
+
+ return (T)(arr[idx++]);
+ }
+}