Class MagnetizeBy<A>

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

    public final class MagnetizeBy<A>
    extends java.lang.Object
    implements Fn2<Fn2<? super A,​? super A,​? extends java.lang.Boolean>,​java.lang.Iterable<A>,​java.lang.Iterable<java.lang.Iterable<A>>>
    Given a binary predicate and an Iterable<A>, return an Iterable<Iterable<A>> of the contiguous groups of elements that match the predicate pairwise.

    Example: magnetizeBy((x, y) -> x <= y, asList(1, 2, 3, 2, 2, 3, 2, 1)); // [[1, 2, 3], [2, 2, 3], [2], [1]]

    • Field Detail

      • INSTANCE

        private static final MagnetizeBy<?> INSTANCE
    • Constructor Detail

      • MagnetizeBy

        private MagnetizeBy()
    • Method Detail

      • checkedApply

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

        public static <A> MagnetizeBy<A> magnetizeBy()
      • magnetizeBy

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

        public static <A> java.lang.Iterable<java.lang.Iterable<A>> magnetizeBy​(Fn2<? super A,​? super A,​? extends java.lang.Boolean> predicate,
                                                                                java.lang.Iterable<A> as)