summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalMap.java
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2016-04-13 16:54:12 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2016-04-13 16:54:12 -0400
commitba07771f8333f1b098ab8a9ec9fec886b72b9cc0 (patch)
tree7d1326235d021cb4767065cddd25bbe9fbdf5ce1 /BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalMap.java
parent12637af8d6b7b9b2d96deb89e5a09e05178a8e65 (diff)
Removed old data types
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.java22
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