Collectors update (original) (raw)
Remi Forax forax at univ-mlv.fr
Tue Feb 5 13:38:13 PST 2013
- Previous message: Collectors update
- Next message: Collectors update redux
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 02/05/2013 09:54 PM, Brian Goetz wrote:
That's silly. We didn't say anything about "nothing should return a function."
Kevin is completely right that collect() is a data-oriented operation and should return a real data structure. Consumer.chain() is a higher-order function; functions in, functions out -- no data involved.
Why using Map is a "real data structure" ? I think I prefer to have a real type like Partition (as Don said).
Rémi
On 2/5/2013 3:46 PM, Remi Forax wrote: On 02/05/2013 09:22 PM, Brian Goetz wrote:
I concur with Kevin.
We should remove Consumer.chain() in that case. Rémi
On 2/5/2013 3:20 PM, Kevin Bourrillion wrote: On Tue, Feb 5, 2013 at 11:11 AM, Remi Forax <forax at univ-mlv.fr_ _<mailto:forax at univ-mlv.fr>> wrote: 4. Rejigger Partition to return an array again, with an explicit lambda (which will likely be an array ctor ref) to make the array. Eliminated the silly Partition class.
Please don't do that, it's pure evil. public static Collector<T, Collection[]> partitioningBy(Predicate predicate, IntFunction<Collection[]> arraySupplier) { I've refactored this to make the partition collectors return Map<Boolean, X>. I think returning a boolean -> T (or Boolean -> T) is better because it's conceptually more lightweight than a Map. I expect to see more function instead of a Map returned as result of a method. I'd have to disagree; I expect function objects to be little things I pass /in/, but I think it's more intuitive to expect a proper data structure back out. -- Kevin Bourrillion | Java Librarian | Google, Inc. |kevinb at google.com <mailto:kevinb at google.com>
- Previous message: Collectors update
- Next message: Collectors update redux
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the lambda-libs-spec-observers mailing list