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