diff --git a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/map/MutableMapIterable.java b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/map/MutableMapIterable.java index 89b9af0151..b63cec8b6d 100644 --- a/eclipse-collections-api/src/main/java/org/eclipse/collections/api/map/MutableMapIterable.java +++ b/eclipse-collections-api/src/main/java/org/eclipse/collections/api/map/MutableMapIterable.java @@ -88,7 +88,10 @@ default boolean removeAllKeys(Set keys) * @return true if any entry is removed. * @since 10.0 */ - boolean removeIf(Predicate2 predicate); + default boolean removeIf(Predicate2 predicate) + { + return this.entrySet().removeIf(entry -> predicate.accept(entry.getKey(), entry.getValue())); + } /** * Get and return the value in the Map at the specified key. Alternatively, if there is no value in the map at the key, diff --git a/eclipse-collections/src/main/java/org/eclipse/collections/impl/bimap/mutable/AbstractMutableBiMap.java b/eclipse-collections/src/main/java/org/eclipse/collections/impl/bimap/mutable/AbstractMutableBiMap.java index 3a989e29e4..dd337843ae 100644 --- a/eclipse-collections/src/main/java/org/eclipse/collections/impl/bimap/mutable/AbstractMutableBiMap.java +++ b/eclipse-collections/src/main/java/org/eclipse/collections/impl/bimap/mutable/AbstractMutableBiMap.java @@ -301,22 +301,6 @@ public V removeKey(K key) return this.remove(key); } - @Override - public boolean removeIf(Predicate2 predicate) - { - int previousSize = this.size(); - Iterator> iterator = this.entrySet().iterator(); - while (iterator.hasNext()) - { - Entry entry = iterator.next(); - if (predicate.accept(entry.getKey(), entry.getValue())) - { - iterator.remove(); - } - } - return previousSize > this.size(); - } - @Override public void clear() { diff --git a/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/ConcurrentHashMap.java b/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/ConcurrentHashMap.java index d2672095d1..d337eaf22c 100644 --- a/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/ConcurrentHashMap.java +++ b/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/ConcurrentHashMap.java @@ -37,7 +37,6 @@ import org.eclipse.collections.api.block.function.Function0; import org.eclipse.collections.api.block.function.Function2; import org.eclipse.collections.api.block.function.Function3; -import org.eclipse.collections.api.block.predicate.Predicate2; import org.eclipse.collections.api.block.procedure.Procedure; import org.eclipse.collections.api.block.procedure.Procedure2; import org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure; @@ -2081,22 +2080,6 @@ public V removeKey(K key) return this.remove(key); } - @Override - public boolean removeIf(Predicate2 predicate) - { - int previousSize = this.size(); - Iterator> iterator = this.entrySet().iterator(); - while (iterator.hasNext()) - { - Map.Entry entry = iterator.next(); - if (predicate.accept(entry.getKey(), entry.getValue())) - { - iterator.remove(); - } - } - return previousSize > this.size(); - } - @Override public

V getIfAbsentPutWith(K key, Function function, P parameter) { diff --git a/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/ConcurrentHashMapUnsafe.java b/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/ConcurrentHashMapUnsafe.java index e664a8c967..0106613ec1 100644 --- a/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/ConcurrentHashMapUnsafe.java +++ b/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/ConcurrentHashMapUnsafe.java @@ -38,7 +38,6 @@ import org.eclipse.collections.api.block.function.Function0; import org.eclipse.collections.api.block.function.Function2; import org.eclipse.collections.api.block.function.Function3; -import org.eclipse.collections.api.block.predicate.Predicate2; import org.eclipse.collections.api.block.procedure.Procedure; import org.eclipse.collections.api.block.procedure.Procedure2; import org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure; @@ -2198,22 +2197,6 @@ public V removeKey(K key) return this.remove(key); } - @Override - public boolean removeIf(Predicate2 predicate) - { - int previousSize = this.size(); - Iterator> iterator = this.entrySet().iterator(); - while (iterator.hasNext()) - { - Map.Entry entry = iterator.next(); - if (predicate.accept(entry.getKey(), entry.getValue())) - { - iterator.remove(); - } - } - return previousSize > this.size(); - } - @Override public

V getIfAbsentPutWith(K key, Function function, P parameter) { diff --git a/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/ConcurrentMutableHashMap.java b/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/ConcurrentMutableHashMap.java index 918757ab8e..9c9cdfc014 100644 --- a/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/ConcurrentMutableHashMap.java +++ b/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/ConcurrentMutableHashMap.java @@ -21,7 +21,6 @@ import org.eclipse.collections.api.block.function.Function; import org.eclipse.collections.api.block.function.Function0; import org.eclipse.collections.api.block.function.Function2; -import org.eclipse.collections.api.block.predicate.Predicate2; import org.eclipse.collections.api.block.procedure.Procedure; import org.eclipse.collections.api.block.procedure.Procedure2; import org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure; @@ -253,22 +252,6 @@ public V removeKey(K key) return this.delegate.remove(key); } - @Override - public boolean removeIf(Predicate2 predicate) - { - int previousSize = this.size(); - Iterator> iterator = this.entrySet().iterator(); - while (iterator.hasNext()) - { - Entry entry = iterator.next(); - if (predicate.accept(entry.getKey(), entry.getValue())) - { - iterator.remove(); - } - } - return previousSize > this.size(); - } - @Override public boolean containsKey(Object key) { diff --git a/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/MapAdapter.java b/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/MapAdapter.java index 1d4b603bd4..6641b7efb6 100644 --- a/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/MapAdapter.java +++ b/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/mutable/MapAdapter.java @@ -17,7 +17,6 @@ import java.util.Set; import org.eclipse.collections.api.block.function.Function; -import org.eclipse.collections.api.block.predicate.Predicate2; import org.eclipse.collections.api.block.procedure.Procedure2; import org.eclipse.collections.api.map.ImmutableMap; import org.eclipse.collections.api.map.MutableMap; @@ -164,22 +163,6 @@ public V removeKey(K key) return this.delegate.remove(key); } - @Override - public boolean removeIf(Predicate2 predicate) - { - int previousSize = this.size(); - Iterator> iterator = this.entrySet().iterator(); - while (iterator.hasNext()) - { - Entry entry = iterator.next(); - if (predicate.accept(entry.getKey(), entry.getValue())) - { - iterator.remove(); - } - } - return previousSize > this.size(); - } - @Override public boolean containsKey(Object key) { diff --git a/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/ordered/mutable/OrderedMapAdapter.java b/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/ordered/mutable/OrderedMapAdapter.java index 33f2179b11..ba7d6b841c 100644 --- a/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/ordered/mutable/OrderedMapAdapter.java +++ b/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/ordered/mutable/OrderedMapAdapter.java @@ -230,22 +230,6 @@ public V removeKey(K key) return this.delegate.remove(key); } - @Override - public boolean removeIf(Predicate2 predicate) - { - int previousSize = this.size(); - Iterator> iterator = this.entrySet().iterator(); - while (iterator.hasNext()) - { - Entry entry = iterator.next(); - if (predicate.accept(entry.getKey(), entry.getValue())) - { - iterator.remove(); - } - } - return previousSize > this.size(); - } - @Override public String toString() { diff --git a/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/sorted/mutable/SortedMapAdapter.java b/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/sorted/mutable/SortedMapAdapter.java index e5bd06fc18..0909a80a44 100644 --- a/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/sorted/mutable/SortedMapAdapter.java +++ b/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/sorted/mutable/SortedMapAdapter.java @@ -17,7 +17,6 @@ import java.util.SortedMap; import org.eclipse.collections.api.block.predicate.Predicate; -import org.eclipse.collections.api.block.predicate.Predicate2; import org.eclipse.collections.api.block.procedure.Procedure2; import org.eclipse.collections.api.collection.MutableCollection; import org.eclipse.collections.api.list.MutableList; @@ -196,22 +195,6 @@ public V removeKey(K key) return this.delegate.remove(key); } - @Override - public boolean removeIf(Predicate2 predicate) - { - int previousSize = this.size(); - Iterator> iterator = this.entrySet().iterator(); - while (iterator.hasNext()) - { - Entry entry = iterator.next(); - if (predicate.accept(entry.getKey(), entry.getValue())) - { - iterator.remove(); - } - } - return previousSize > this.size(); - } - @Override public MutableSortedMap with(Pair... pairs) { diff --git a/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/sorted/mutable/TreeSortedMap.java b/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/sorted/mutable/TreeSortedMap.java index 86e029961b..f1f3a2a2b3 100644 --- a/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/sorted/mutable/TreeSortedMap.java +++ b/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/sorted/mutable/TreeSortedMap.java @@ -21,7 +21,6 @@ import java.util.TreeMap; import org.eclipse.collections.api.block.predicate.Predicate; -import org.eclipse.collections.api.block.predicate.Predicate2; import org.eclipse.collections.api.block.procedure.Procedure2; import org.eclipse.collections.api.collection.MutableCollection; import org.eclipse.collections.api.list.MutableList; @@ -217,22 +216,6 @@ public V removeKey(K key) return this.treeMap.remove(key); } - @Override - public boolean removeIf(Predicate2 predicate) - { - int previousSize = this.size(); - Iterator> iterator = this.entrySet().iterator(); - while (iterator.hasNext()) - { - Entry entry = iterator.next(); - if (predicate.accept(entry.getKey(), entry.getValue())) - { - iterator.remove(); - } - } - return previousSize > this.size(); - } - @Override public TreeSortedMap clone() { diff --git a/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/strategy/mutable/UnifiedMapWithHashingStrategy.java b/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/strategy/mutable/UnifiedMapWithHashingStrategy.java index ded3d5c491..1b1ec52fd2 100644 --- a/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/strategy/mutable/UnifiedMapWithHashingStrategy.java +++ b/eclipse-collections/src/main/java/org/eclipse/collections/impl/map/strategy/mutable/UnifiedMapWithHashingStrategy.java @@ -28,7 +28,6 @@ import org.eclipse.collections.api.block.function.Function; import org.eclipse.collections.api.block.function.Function0; import org.eclipse.collections.api.block.function.Function2; -import org.eclipse.collections.api.block.predicate.Predicate2; import org.eclipse.collections.api.block.procedure.Procedure; import org.eclipse.collections.api.block.procedure.Procedure2; import org.eclipse.collections.api.block.procedure.primitive.ObjectIntProcedure; @@ -1079,22 +1078,6 @@ public V removeKey(K key) return this.remove(key); } - @Override - public boolean removeIf(Predicate2 predicate) - { - int previousSize = this.size(); - Iterator> iterator = this.entrySet().iterator(); - while (iterator.hasNext()) - { - Entry entry = iterator.next(); - if (predicate.accept(entry.getKey(), entry.getValue())) - { - iterator.remove(); - } - } - return previousSize > this.size(); - } - private void chainedForEachEntry(Object[] chain, Procedure2 procedure) { for (int i = 0; i < chain.length; i += 2)