diff options
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.java | 22 |
1 files changed, 19 insertions, 3 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 b505ebd..da30064 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalMap.java +++ b/BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalMap.java @@ -6,7 +6,7 @@ import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.Function; -import bjc.utils.data.Pair; +import bjc.utils.data.experimental.IPair; /** * Basic implementation of {@link IFunctionalMap} @@ -102,6 +102,11 @@ public class FunctionalMap<K, V> implements IFunctionalMap<K, V> { action.accept(transformer.apply(val)); }); } + + @Override + public IFunctionalList<V2> valueList() { + return mapToTransform.valueList().map(transformer); + } } private Map<K, V> wrappedMap; @@ -134,10 +139,10 @@ public class FunctionalMap<K, V> implements IFunctionalMap<K, V> { * The entries to put into the map */ @SafeVarargs - public FunctionalMap(Pair<K, V>... entries) { + public FunctionalMap(IPair<K, V>... entries) { this(); - for (Pair<K, V> entry : entries) { + for (IPair<K, V> entry : entries) { entry.doWith((key, val) -> { wrappedMap.put(key, val); }); @@ -243,4 +248,15 @@ public class FunctionalMap<K, V> implements IFunctionalMap<K, V> { public void forEachValue(Consumer<V> action) { wrappedMap.values().forEach(action); } + + @Override + public IFunctionalList<V> valueList() { + FunctionalList<V> values = new FunctionalList<>(); + + wrappedMap.values().forEach((value) -> { + values.add(value); + }); + + return values; + } }
\ No newline at end of file |
