Class MaxBy<A, B extends Comparable<B>>

java.lang.Object
com.jnape.palatable.lambda.semigroup.builtin.MaxBy<A,B>
Type Parameters:
A - the value type
B - the mapped comparison type
All Implemented Interfaces:
Fn1<Fn1<? super A, ? extends B>, Fn1<A,Fn1<A,A>>>, Fn2<Fn1<? super A, ? extends B>, A, Fn1<A,A>>, Fn3<Fn1<? super A, ? extends B>, A, A, A>, SemigroupFactory<Fn1<? super A, ? extends B>, A>, Applicative<Fn1<A,Fn1<A,A>>, Fn1<Fn1<? super A, ? extends B>, ?>>, Cartesian<Fn1<? super A, ? extends B>, Fn1<A,Fn1<A,A>>, Fn1<?,?>>, Cocartesian<Fn1<? super A, ? extends B>, Fn1<A,Fn1<A,A>>, Fn1<?,?>>, Contravariant<Fn1<? super A, ? extends B>, Profunctor<?, Fn1<A,Fn1<A,A>>, Fn1<?,?>>>, Functor<Fn1<A,Fn1<A,A>>, Fn1<Fn1<? super A, ? extends B>, ?>>, Profunctor<Fn1<? super A, ? extends B>, Fn1<A,Fn1<A,A>>, Fn1<?,?>>, Monad<Fn1<A,Fn1<A,A>>, Fn1<Fn1<? super A, ? extends B>, ?>>, MonadReader<Fn1<? super A, ? extends B>, Fn1<A,Fn1<A,A>>, Fn1<Fn1<? super A, ? extends B>, ?>>, MonadRec<Fn1<A,Fn1<A,A>>, Fn1<Fn1<? super A, ? extends B>, ?>>, MonadWriter<Fn1<? super A, ? extends B>, Fn1<A,Fn1<A,A>>, Fn1<Fn1<? super A, ? extends B>, ?>>

public final class MaxBy<A, B extends Comparable<B>> extends Object implements SemigroupFactory<Fn1<? super A, ? extends B>, A>
Given a mapping function from some type A to some Comparable type B, produce a Semigroup over A that chooses between two values x and y via the following rules:
  • If x is strictly less than y in terms of B, return y
  • Otherwise, return x
See Also:
  • Field Details

    • INSTANCE

      private static final MaxBy<?,?> INSTANCE
  • Constructor Details

    • MaxBy

      private MaxBy()
  • Method Details