Methods removeFirstIf in Collection and skipFirst in Stream

Alberto Otero Rodríguez albest512 at hotmail.com
Fri Jul 2 14:22:39 UTC 2021


Hi,

I think it would be interesting adding the following methods:

1) In Collection:
           default boolean removeFirstIf​(Predicate<https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/function/Predicate.html><? super E<https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Collection.html>> filter)

2) In Stream:
           Stream<https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/stream/Stream.html><T<https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/stream/Stream.html>> skipFirst(Predicate<https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/function/Predicate.html><? super T<https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/stream/Stream.html>> predicate)

The purpose of both methods would be the same. Deleting the first element in the collection that fulfills the predicate.

This could be useful in collections/streams with no duplicate elements where performance would be better than using removeIf from Collection of filter from Stream.

Regards,

Alberto.


More information about the core-libs-dev mailing list