Skip to content

Commit b3851ad

Browse files
authored
Merge pull request eclipse-collections#1778 from motlin/reduceBy-overrides
Fix missing overrides of reduceBy().
2 parents e22d3ca + 2a1801a commit b3851ad

3 files changed

Lines changed: 22 additions & 2 deletions

File tree

eclipse-collections-api/src/main/java/org/eclipse/collections/api/collection/MutableCollection.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
import org.eclipse.collections.api.factory.primitive.ShortLists;
5050
import org.eclipse.collections.api.list.MutableList;
5151
import org.eclipse.collections.api.map.MutableMap;
52+
import org.eclipse.collections.api.map.MutableMapIterable;
5253
import org.eclipse.collections.api.map.primitive.MutableObjectDoubleMap;
5354
import org.eclipse.collections.api.map.primitive.MutableObjectLongMap;
5455
import org.eclipse.collections.api.multimap.MutableMultimap;
@@ -635,4 +636,12 @@ default <K, V> MutableMap<K, V> aggregateBy(
635636
nonMutatingAggregator,
636637
Maps.mutable.empty());
637638
}
639+
640+
@Override
641+
default <K> MutableMapIterable<K, T> reduceBy(
642+
Function<? super T, ? extends K> groupBy,
643+
Function2<? super T, ? super T, ? extends T> reduceFunction)
644+
{
645+
return this.reduceBy(groupBy, reduceFunction, Maps.mutable.empty());
646+
}
638647
}

eclipse-collections/src/main/java/org/eclipse/collections/impl/collection/mutable/AbstractMultiReaderMutableCollection.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,6 @@
7171
import org.eclipse.collections.api.factory.primitive.ObjectLongMaps;
7272
import org.eclipse.collections.api.list.ImmutableList;
7373
import org.eclipse.collections.api.list.MutableList;
74-
import org.eclipse.collections.api.map.MapIterable;
7574
import org.eclipse.collections.api.map.MutableMap;
7675
import org.eclipse.collections.api.map.MutableMapIterable;
7776
import org.eclipse.collections.api.map.primitive.MutableObjectDoubleMap;
@@ -1440,7 +1439,7 @@ public <R extends Collection<Pair<T, Integer>>> R zipWithIndex(R target)
14401439
}
14411440

14421441
@Override
1443-
public <K> MapIterable<K, T> reduceBy(
1442+
public <K> MutableMapIterable<K, T> reduceBy(
14441443
Function<? super T, ? extends K> groupBy,
14451444
Function2<? super T, ? super T, ? extends T> reduceFunction)
14461445
{

eclipse-collections/src/main/java/org/eclipse/collections/impl/collection/mutable/AbstractSynchronizedMutableCollection.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import org.eclipse.collections.api.collection.primitive.MutableShortCollection;
4141
import org.eclipse.collections.api.list.MutableList;
4242
import org.eclipse.collections.api.map.MutableMap;
43+
import org.eclipse.collections.api.map.MutableMapIterable;
4344
import org.eclipse.collections.api.map.primitive.MutableObjectDoubleMap;
4445
import org.eclipse.collections.api.map.primitive.MutableObjectLongMap;
4546
import org.eclipse.collections.api.multimap.MutableMultimap;
@@ -465,6 +466,17 @@ public <K, V> MutableMap<K, V> aggregateBy(
465466
}
466467
}
467468

469+
@Override
470+
public <K> MutableMapIterable<K, T> reduceBy(
471+
Function<? super T, ? extends K> groupBy,
472+
Function2<? super T, ? super T, ? extends T> reduceFunction)
473+
{
474+
synchronized (this.lock)
475+
{
476+
return this.getDelegate().reduceBy(groupBy, reduceFunction);
477+
}
478+
}
479+
468480
@Override
469481
public <V> MutableObjectLongMap<V> sumByInt(Function<? super T, ? extends V> groupBy, IntFunction<? super T> function)
470482
{

0 commit comments

Comments
 (0)