aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/util/CousCousMaps.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-04 17:52:29 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-04 17:52:29 +0100
commitb74d68227dc7c05e24705e3064ef961f95b8b729 (patch)
tree70601bc83d1105c6748a062bd6ffe41ecfe68acc /src/main/java/org/zwobble/couscous/util/CousCousMaps.java
parent8d2374ba254e637c22e6f1eaa58ccb54d814529f (diff)
Throw exception if assigning value of wrong type
Diffstat (limited to 'src/main/java/org/zwobble/couscous/util/CousCousMaps.java')
-rw-r--r--src/main/java/org/zwobble/couscous/util/CousCousMaps.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/util/CousCousMaps.java b/src/main/java/org/zwobble/couscous/util/CousCousMaps.java
new file mode 100644
index 0000000..5fb4dca
--- /dev/null
+++ b/src/main/java/org/zwobble/couscous/util/CousCousMaps.java
@@ -0,0 +1,14 @@
+package org.zwobble.couscous.util;
+
+import java.util.Map;
+import java.util.function.Function;
+
+import static java.util.stream.Collectors.toMap;
+
+public class CousCousMaps {
+ public static <K1, K2, V> Map<K2, V> mapKeys(Map<K1, V> map, Function<K1, K2> func) {
+ return map.entrySet()
+ .stream()
+ .collect(toMap(entry -> func.apply(entry.getKey()), entry -> entry.getValue()));
+ }
+}