Class MagnetizeBy<A>

java.lang.Object
com.jnape.palatable.lambda.functions.builtin.fn2.MagnetizeBy<A>
Type Parameters:
A - the Iterable element type
All Implemented Interfaces:
Fn1<Fn2<? super A, ? super A, ? extends Boolean>, Fn1<Iterable<A>, Iterable<Iterable<A>>>>, Fn2<Fn2<? super A, ? super A, ? extends Boolean>, Iterable<A>, Iterable<Iterable<A>>>, Applicative<Fn1<Iterable<A>, Iterable<Iterable<A>>>, Fn1<Fn2<? super A, ? super A, ? extends Boolean>, ?>>, Cartesian<Fn2<? super A, ? super A, ? extends Boolean>, Fn1<Iterable<A>, Iterable<Iterable<A>>>, Fn1<?,?>>, Cocartesian<Fn2<? super A, ? super A, ? extends Boolean>, Fn1<Iterable<A>, Iterable<Iterable<A>>>, Fn1<?,?>>, Contravariant<Fn2<? super A, ? super A, ? extends Boolean>, Profunctor<?, Fn1<Iterable<A>, Iterable<Iterable<A>>>, Fn1<?,?>>>, Functor<Fn1<Iterable<A>, Iterable<Iterable<A>>>, Fn1<Fn2<? super A, ? super A, ? extends Boolean>, ?>>, Profunctor<Fn2<? super A, ? super A, ? extends Boolean>, Fn1<Iterable<A>, Iterable<Iterable<A>>>, Fn1<?,?>>, Monad<Fn1<Iterable<A>, Iterable<Iterable<A>>>, Fn1<Fn2<? super A, ? super A, ? extends Boolean>, ?>>, MonadReader<Fn2<? super A, ? super A, ? extends Boolean>, Fn1<Iterable<A>, Iterable<Iterable<A>>>, Fn1<Fn2<? super A, ? super A, ? extends Boolean>, ?>>, MonadRec<Fn1<Iterable<A>, Iterable<Iterable<A>>>, Fn1<Fn2<? super A, ? super A, ? extends Boolean>, ?>>, MonadWriter<Fn2<? super A, ? super A, ? extends Boolean>, Fn1<Iterable<A>, Iterable<Iterable<A>>>, Fn1<Fn2<? super A, ? super A, ? extends Boolean>, ?>>

public final class MagnetizeBy<A> extends Object implements Fn2<Fn2<? super A, ? super A, ? extends Boolean>, Iterable<A>, Iterable<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]]