summaryrefslogtreecommitdiff
path: root/BJC-Utils2
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2017-02-22 04:38:14 -0500
committerbculkin2442 <bjculkin@mix.wvu.edu>2017-02-22 04:38:14 -0500
commit620adc2fe00c1337b21f01a93be86729350c433c (patch)
treeec78aa58f57a1d6e75a7e935448b0367c3681a81 /BJC-Utils2
parent135500e2da83657e2e5425a10746e80d5c7990d5 (diff)
Added transforming iterator
Diffstat (limited to 'BJC-Utils2')
-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());
+ }
+}