From 70cea4b406f1cd592c59c4103c1b9b301d3b5907 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Mon, 11 Apr 2016 22:34:40 -0400 Subject: Some minor changes to the CLI system --- .../java/bjc/utils/funcdata/FunctionalMap.java | 23 ++++++++++++++++++++++ .../java/bjc/utils/funcdata/IFunctionalMap.java | 17 ++++++++++++++++ 2 files changed, 40 insertions(+) (limited to 'BJC-Utils2/src/main/java/bjc/utils/funcdata') 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 implements IFunctionalMap { public int getSize() { return mapToTransform.getSize(); } + + @Override + public void forEachKey(Consumer action) { + mapToTransform.forEachKey(action); + } + + @Override + public void forEachValue(Consumer action) { + mapToTransform.forEachValue((val) -> { + action.accept(transformer.apply(val)); + }); + } } private Map wrappedMap; @@ -220,4 +233,14 @@ public class FunctionalMap implements IFunctionalMap { public int getSize() { return wrappedMap.size(); } + + @Override + public void forEachKey(Consumer action) { + wrappedMap.keySet().forEach(action); + } + + @Override + public void forEachValue(Consumer action) { + wrappedMap.values().forEach(action); + } } \ No newline at end of file diff --git a/BJC-Utils2/src/main/java/bjc/utils/funcdata/IFunctionalMap.java b/BJC-Utils2/src/main/java/bjc/utils/funcdata/IFunctionalMap.java index 9bd62bc..e089850 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/funcdata/IFunctionalMap.java +++ b/BJC-Utils2/src/main/java/bjc/utils/funcdata/IFunctionalMap.java @@ -1,6 +1,7 @@ package bjc.utils.funcdata; import java.util.function.BiConsumer; +import java.util.function.Consumer; import java.util.function.Function; /** @@ -101,4 +102,20 @@ public interface IFunctionalMap { * @return The number of entries in this map */ int getSize(); + + /** + * Perform an action for each key in the map + * + * @param action + * The action to perform on each key in the map + */ + void forEachKey(Consumer action); + + /** + * Perform an action for each value in the map + * + * @param action + * The action to perform on each value in the map + */ + void forEachValue(Consumer action); } \ No newline at end of file -- cgit v1.2.3