diff options
| author | bculkin2442 <bjculkin@mix.wvu.edu> | 2016-04-11 22:34:40 -0400 |
|---|---|---|
| committer | bculkin2442 <bjculkin@mix.wvu.edu> | 2016-04-11 22:34:40 -0400 |
| commit | 70cea4b406f1cd592c59c4103c1b9b301d3b5907 (patch) | |
| tree | 765e0755a6c7c10235940c1d97bf979fb0cf1e36 /BJC-Utils2/src/main/java/bjc/utils/funcdata | |
| parent | c8a00b789671d59589bcb5520c1e9d208bcc27f6 (diff) | |
Some minor changes to the CLI system
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/funcdata')
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalMap.java | 23 | ||||
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/funcdata/IFunctionalMap.java | 17 |
2 files changed, 40 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 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<K, V> { * @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<K> 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<V> action); }
\ No newline at end of file |
