summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalMap.java
diff options
context:
space:
mode:
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalMap.java')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalMap.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalMap.java b/BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalMap.java
index fc4c4de..b505ebd 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalMap.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalMap.java
@@ -3,6 +3,7 @@ package bjc.utils.funcdata;
import java.util.HashMap;
import java.util.Map;
import java.util.function.BiConsumer;
+import java.util.function.Consumer;
import java.util.function.Function;
import bjc.utils.data.Pair;
@@ -89,6 +90,18 @@ public class FunctionalMap<K, V> implements IFunctionalMap<K, V> {
public int getSize() {
return mapToTransform.getSize();
}
+
+ @Override
+ public void forEachKey(Consumer<K> action) {
+ mapToTransform.forEachKey(action);
+ }
+
+ @Override
+ public void forEachValue(Consumer<V2> action) {
+ mapToTransform.forEachValue((val) -> {
+ action.accept(transformer.apply(val));
+ });
+ }
}
private Map<K, V> wrappedMap;
@@ -220,4 +233,14 @@ public class FunctionalMap<K, V> implements IFunctionalMap<K, V> {
public int getSize() {
return wrappedMap.size();
}
+
+ @Override
+ public void forEachKey(Consumer<K> action) {
+ wrappedMap.keySet().forEach(action);
+ }
+
+ @Override
+ public void forEachValue(Consumer<V> action) {
+ wrappedMap.values().forEach(action);
+ }
} \ No newline at end of file