summaryrefslogtreecommitdiff
path: root/base/src
diff options
context:
space:
mode:
Diffstat (limited to 'base/src')
-rw-r--r--base/src/main/java/bjc/utils/data/ArrayIterator.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/base/src/main/java/bjc/utils/data/ArrayIterator.java b/base/src/main/java/bjc/utils/data/ArrayIterator.java
new file mode 100644
index 0000000..5dbf9d7
--- /dev/null
+++ b/base/src/main/java/bjc/utils/data/ArrayIterator.java
@@ -0,0 +1,29 @@
+package bjc.utils.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++]);
+ }
+}