- Type Parameters:
K
- the Map key type
V
- the Map value type
- All Implemented Interfaces:
Fn1<Fn1<? super V,? extends K>,Fn1<java.lang.Iterable<V>,java.util.Map<K,java.util.List<V>>>>
, Fn2<Fn1<? super V,? extends K>,java.lang.Iterable<V>,java.util.Map<K,java.util.List<V>>>
, Applicative<Fn1<java.lang.Iterable<V>,java.util.Map<K,java.util.List<V>>>,Fn1<Fn1<? super V,? extends K>,?>>
, Cartesian<Fn1<? super V,? extends K>,Fn1<java.lang.Iterable<V>,java.util.Map<K,java.util.List<V>>>,Fn1<?,?>>
, Cocartesian<Fn1<? super V,? extends K>,Fn1<java.lang.Iterable<V>,java.util.Map<K,java.util.List<V>>>,Fn1<?,?>>
, Contravariant<Fn1<? super V,? extends K>,Profunctor<?,Fn1<java.lang.Iterable<V>,java.util.Map<K,java.util.List<V>>>,Fn1<?,?>>>
, Functor<Fn1<java.lang.Iterable<V>,java.util.Map<K,java.util.List<V>>>,Fn1<Fn1<? super V,? extends K>,?>>
, Profunctor<Fn1<? super V,? extends K>,Fn1<java.lang.Iterable<V>,java.util.Map<K,java.util.List<V>>>,Fn1<?,?>>
, Monad<Fn1<java.lang.Iterable<V>,java.util.Map<K,java.util.List<V>>>,Fn1<Fn1<? super V,? extends K>,?>>
, MonadReader<Fn1<? super V,? extends K>,Fn1<java.lang.Iterable<V>,java.util.Map<K,java.util.List<V>>>,Fn1<Fn1<? super V,? extends K>,?>>
, MonadRec<Fn1<java.lang.Iterable<V>,java.util.Map<K,java.util.List<V>>>,Fn1<Fn1<? super V,? extends K>,?>>
, MonadWriter<Fn1<? super V,? extends K>,Fn1<java.lang.Iterable<V>,java.util.Map<K,java.util.List<V>>>,Fn1<Fn1<? super V,? extends K>,?>>
public final class GroupBy<K,V>
extends java.lang.Object
implements Fn2<Fn1<? super V,? extends K>,java.lang.Iterable<V>,java.util.Map<K,java.util.List<V>>>
Given an Iterable<V>
vs
and a key function V -> K
f
,
fold vs
into a Map<K, List<V>>
by applying f
to each element of
vs
, retaining values that map to the same key in a list, in the order they were iterated in.
- See Also:
InGroupsOf