From 039f7f71e049029ab71a6d6c60d2eed5f95e5795 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Thu, 16 Feb 2017 09:35:10 -0500 Subject: Update --- .../main/java/bjc/utils/data/CircularIterator.java | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 BJC-Utils2/src/main/java/bjc/utils/data/CircularIterator.java (limited to 'BJC-Utils2/src/main/java/bjc/utils/data/CircularIterator.java') diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/CircularIterator.java b/BJC-Utils2/src/main/java/bjc/utils/data/CircularIterator.java new file mode 100644 index 0000000..cce7521 --- /dev/null +++ b/BJC-Utils2/src/main/java/bjc/utils/data/CircularIterator.java @@ -0,0 +1,31 @@ +package bjc.utils.data; + +import java.util.Iterator; + +public class CircularIterator implements Iterator { + private Iterable source; + private Iterator curr; + + public CircularIterator(Iterable src) { + source = src; + curr = source.iterator(); + } + + public boolean hasNext() { + // We always have something + return true; + } + + public E next() { + if(curr.hasNext()) { + return curr.next(); + } else { + curr = source.iterator(); + return curr.next(); + } + } + + public void remove() { + curr.remove(); + } +} -- cgit v1.2.3