Additional Collectors

Brian Goetz brian.goetz at oracle.com
Mon Apr 8 17:10:34 PDT 2013


And, still need to close on this one:

> People also expressed concern that the "toMap()" (nee mappedTo,
> joiningWith) is not flexible enough.  As a reminder, what toMap does is
> take a Stream<T> and a function T->U and produces a Map<T,U>.  Some
> people call this "backwards"; they would rather have something that
> takes a Stream<T> and function T->K and produces a Map<K,T>.  And others
> would rather have something that takes two functions T->K and T->U and
> produces a Map<K,U>.
>
> All of these are useful enough.  The question is how to fit them into
> the API.  I think the name "toMap" is a bit of a challenge, since there
> are several "modes" and not all of them can be easily handled by
> overloads.  Maybe:
>
>    toMap(T->U) // first version
>    toMap(T->K, T->U) // third version
>
> and leave the second version out, since the third version can easily
> simulate the second?


More information about the lambda-libs-spec-experts mailing list