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

Reply via email to