summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/data/TransformedIterator.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/TransformedIterator.java b/BJC-Utils2/src/main/java/bjc/utils/data/TransformedIterator.java
new file mode 100644
index 0000000..848b6ac
--- /dev/null
+++ b/BJC-Utils2/src/main/java/bjc/utils/data/TransformedIterator.java
@@ -0,0 +1,23 @@
+package bjc.utils.data;
+
+import java.util.Iterator;
+import java.util.function.Function;
+
+public class TransformedIterator<PreType, PostType> implements Iterator<PostType> {
+ private Iterator<PreType> source;
+
+ private Function<PreType, PostType> transform;
+
+ public TransformedIterator(Iterator<PreType> src, Function<PreType, PostType> trans) {
+ source = src;
+ trans = transform;
+ }
+
+ public boolean hasNext() {
+ return source.hasNext();
+ }
+
+ public PostType next() {
+ return transform.apply(source.next());
+ }
+}