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.
