From e7518cf5c0eb79cf72553cafe4ee57f32d172207 Mon Sep 17 00:00:00 2001 From: "Benjamin J. Culkin" Date: Thu, 25 Jul 2019 18:30:13 -0300 Subject: Better iterator functionality --- .../java/bjc/utils/funcutils/IteratorUtils.java | 25 ++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'base/src/main/java/bjc/utils/funcutils/IteratorUtils.java') diff --git a/base/src/main/java/bjc/utils/funcutils/IteratorUtils.java b/base/src/main/java/bjc/utils/funcutils/IteratorUtils.java index 3cdee26..5242fc4 100644 --- a/base/src/main/java/bjc/utils/funcutils/IteratorUtils.java +++ b/base/src/main/java/bjc/utils/funcutils/IteratorUtils.java @@ -1,7 +1,9 @@ package bjc.utils.funcutils; -import java.util.Iterator; -import java.util.function.Function; +import java.util.*; +import java.util.function.*; + +import bjc.utils.data.*; /** * Utility methods for dealing with iterators. @@ -40,11 +42,13 @@ public class IteratorUtils { return curItr.next(); } } + /** * Convert an iterator to an iterable. * * @param itr - * The iterator to convert. + * The iterator to convert. + * * @return An iterable that gives back that iterator. */ public static Iterable I(Iterator itr) { @@ -55,13 +59,26 @@ public class IteratorUtils { * Convert an iterable to an iterator. * * @param itr - * The iterable to convert. + * The iterable to convert. + * * @return The iterator from that iterable */ public static Iterator I(Iterable itr) { return itr.iterator(); } + /** + * Convert an array to an iterator. + * + * @param parms + * The array to iterate over. + * + * @return An iterator over the provided array. + */ + public static Iterator AI(E... parms) { + return new ArrayIterator<>(parms); + } + public static Iterator chain(Iterator itrA, Function> itrB) { return new ChainIterator(itrA, itrB); } -- cgit v1.2.3