Class Find<A>

  • Type Parameters:
    A - the Iterable element type
    All Implemented Interfaces:
    Fn1<Fn1<? super A,​? extends java.lang.Boolean>,​Fn1<java.lang.Iterable<A>,​Maybe<A>>>, Fn2<Fn1<? super A,​? extends java.lang.Boolean>,​java.lang.Iterable<A>,​Maybe<A>>, Applicative<Fn1<java.lang.Iterable<A>,​Maybe<A>>,​Fn1<Fn1<? super A,​? extends java.lang.Boolean>,​?>>, Cartesian<Fn1<? super A,​? extends java.lang.Boolean>,​Fn1<java.lang.Iterable<A>,​Maybe<A>>,​Fn1<?,​?>>, Cocartesian<Fn1<? super A,​? extends java.lang.Boolean>,​Fn1<java.lang.Iterable<A>,​Maybe<A>>,​Fn1<?,​?>>, Contravariant<Fn1<? super A,​? extends java.lang.Boolean>,​Profunctor<?,​Fn1<java.lang.Iterable<A>,​Maybe<A>>,​Fn1<?,​?>>>, Functor<Fn1<java.lang.Iterable<A>,​Maybe<A>>,​Fn1<Fn1<? super A,​? extends java.lang.Boolean>,​?>>, Profunctor<Fn1<? super A,​? extends java.lang.Boolean>,​Fn1<java.lang.Iterable<A>,​Maybe<A>>,​Fn1<?,​?>>, Monad<Fn1<java.lang.Iterable<A>,​Maybe<A>>,​Fn1<Fn1<? super A,​? extends java.lang.Boolean>,​?>>, MonadReader<Fn1<? super A,​? extends java.lang.Boolean>,​Fn1<java.lang.Iterable<A>,​Maybe<A>>,​Fn1<Fn1<? super A,​? extends java.lang.Boolean>,​?>>, MonadRec<Fn1<java.lang.Iterable<A>,​Maybe<A>>,​Fn1<Fn1<? super A,​? extends java.lang.Boolean>,​?>>, MonadWriter<Fn1<? super A,​? extends java.lang.Boolean>,​Fn1<java.lang.Iterable<A>,​Maybe<A>>,​Fn1<Fn1<? super A,​? extends java.lang.Boolean>,​?>>

    public final class Find<A>
    extends java.lang.Object
    implements Fn2<Fn1<? super A,​? extends java.lang.Boolean>,​java.lang.Iterable<A>,​Maybe<A>>
    Iterate the elements in an Iterable, applying a predicate to each one, returning the first element that matches the predicate, wrapped in a Maybe. If no elements match the predicate, the result is Maybe.nothing(). This function short-circuits, and so is safe to use on potentially infinite Iterable instances that guarantee to have an eventually matching element.
    • Field Detail

      • INSTANCE

        private static final Find<?> INSTANCE
    • Constructor Detail

      • Find

        private Find()
    • Method Detail

      • checkedApply

        public Maybe<A> checkedApply​(Fn1<? super A,​? extends java.lang.Boolean> predicate,
                                     java.lang.Iterable<A> as)
        Specified by:
        checkedApply in interface Fn2<Fn1<? super A,​? extends java.lang.Boolean>,​java.lang.Iterable<A>,​Maybe<A>>
      • find

        public static <A> Find<A> find()
      • find

        public static <A> Fn1<java.lang.Iterable<A>,​Maybe<A>> find​(Fn1<? super A,​? extends java.lang.Boolean> predicate)
      • find

        public static <A> Maybe<A> find​(Fn1<? super A,​? extends java.lang.Boolean> predicate,
                                        java.lang.Iterable<A> as)