Stream Method Proposal: long count(Predicate<? super T> predicate)
Roger Riggs
Roger.Riggs at oracle.com
Thu Nov 8 15:06:01 UTC 2018
Hi Jacob,
Its hard to resist the urge to add convenience methods, they look nice
and help a few developers.
However, they accumulate rapidly and end up obscuring the core
functionality.
They can hurt comprehension since they fold different functions together
and the collective API surface area ends up impinging on every
developers learning curve.
$.02, Roger
On 11/07/2018 08:00 PM, Jacob Glickman wrote:
> Hello!
>
> I see myself having to often call count() as a terminal operation on a
> Stream immediately after performing a filter operation. How feasible would
> it be to add an overloaded count() method that accepts a Predicate, which
> it uses as a filter before returning the count of elements in the Stream?
> If this is supported, I'd gladly create the webrev & tests for it!
>
> I suppose the method signature can be something along the lines of:
>
> long count(Predicate<? super T> predicate)
>
> It would also seem reasonable to give this method to IntStream,
> DoubleStream, and LongStream, but allowing them to use IntPredicate,
> DoublePredicate, and LongPredicate respectively.
>
> Thanks,
>
> Jacob Glickman
More information about the core-libs-dev
mailing list