summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/funcdata
diff options
context:
space:
mode:
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/funcdata')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/funcdata/IMap.java10
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/funcdata/Tree.java3
2 files changed, 12 insertions, 1 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/funcdata/IMap.java b/BJC-Utils2/src/main/java/bjc/utils/funcdata/IMap.java
index 5e0c67e..f1616b2 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/funcdata/IMap.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/funcdata/IMap.java
@@ -137,4 +137,14 @@ public interface IMap<KeyType, ValueType> {
* Delete all the values in the map
*/
void clear();
+
+ default ValueType getOrDefault(KeyType key, ValueType defaultValue) {
+ try {
+ return get(key);
+ } catch (@SuppressWarnings("unused") IllegalArgumentException iaex) {
+ // We don't care about this, because it indicates a key is
+ // missing
+ return defaultValue;
+ }
+ }
} \ No newline at end of file
diff --git a/BJC-Utils2/src/main/java/bjc/utils/funcdata/Tree.java b/BJC-Utils2/src/main/java/bjc/utils/funcdata/Tree.java
index 834c124..77b5673 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/funcdata/Tree.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/funcdata/Tree.java
@@ -134,7 +134,8 @@ public class Tree<ContainedType> implements ITree<ContainedType> {
Function<IList<NewType>, NewType> nodeTransformer = nodeCollapser
.apply(data);
- IList<NewType> collapsedChildren = children.map((child) -> {
+ @SuppressWarnings("unchecked")
+ IList<NewType> collapsedChildren = (IList<NewType>) children.map((child) -> {
return child.collapse(leafTransform, nodeCollapser,
(subTreeVal) -> subTreeVal);
});