Class Difference<A>

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

    public final class Difference<A>
    extends java.lang.Object
    implements Fn2<java.lang.Iterable<A>,​java.lang.Iterable<A>,​java.lang.Iterable<A>>
    Given two Iterables xs and ys, return the distinct elements of xs that are not in ys. Note that this is not symmetric difference.

    This operation preserves order, so the resulting elements from xs are iterated in the order that they uniquely occur in.

    • Field Detail

      • INSTANCE

        private static final Difference<?> INSTANCE
    • Constructor Detail

      • Difference

        private Difference()
    • Method Detail

      • checkedApply

        public java.lang.Iterable<A> checkedApply​(java.lang.Iterable<A> xs,
                                                  java.lang.Iterable<A> ys)
        Specified by:
        checkedApply in interface Fn2<java.lang.Iterable<A>,​java.lang.Iterable<A>,​java.lang.Iterable<A>>
      • difference

        public static <A> Difference<A> difference()
      • difference

        public static <A> Fn1<java.lang.Iterable<A>,​java.lang.Iterable<A>> difference​(java.lang.Iterable<A> xs)
      • difference

        public static <A> java.lang.Iterable<A> difference​(java.lang.Iterable<A> xs,
                                                           java.lang.Iterable<A> ys)