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/FunctionalList.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalList.java b/BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalList.java
index 9eb8e17..d33ec28 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalList.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/funcdata/FunctionalList.java
@@ -352,11 +352,9 @@ public class FunctionalList<E> implements Cloneable {
Function<T, F> finl) {
GenHolder<T> acum = new GenHolder<>(val);
- wrap.forEach(e -> {
- acum.held = bf.apply(e, acum.held);
- });
+ wrap.forEach(e -> acum.transform((vl) -> bf.apply(e, vl)));
- return finl.apply(acum.held);
+ return acum.unwrap(finl);
}
/**
@@ -400,6 +398,7 @@ public class FunctionalList<E> implements Cloneable {
/**
* Convert the list into a iterable
+ *
* @return An iterable view onto the list
*/
public Iterable<E> toIterable() {
@@ -422,4 +421,10 @@ public class FunctionalList<E> implements Cloneable {
return sb.toString();
}
+
+ public void removeMatching(E obj) {
+ removeIf((ele) -> {
+ return ele.equals(obj);
+ });
+ }
}