Class MergeMaps<K,​V>

  • Type Parameters:
    K - The key parameter type of the Map
    V - The value parameter type of the Map
    All Implemented Interfaces:
    Fn1<Fn0<java.util.Map<K,​V>>,​Fn1<Semigroup<V>,​Fn1<java.util.Map<K,​V>,​Fn1<java.util.Map<K,​V>,​java.util.Map<K,​V>>>>>, Fn2<Fn0<java.util.Map<K,​V>>,​Semigroup<V>,​Fn1<java.util.Map<K,​V>,​Fn1<java.util.Map<K,​V>,​java.util.Map<K,​V>>>>, Fn3<Fn0<java.util.Map<K,​V>>,​Semigroup<V>,​java.util.Map<K,​V>,​Fn1<java.util.Map<K,​V>,​java.util.Map<K,​V>>>, Fn4<Fn0<java.util.Map<K,​V>>,​Semigroup<V>,​java.util.Map<K,​V>,​java.util.Map<K,​V>,​java.util.Map<K,​V>>, BiMonoidFactory<Fn0<java.util.Map<K,​V>>,​Semigroup<V>,​java.util.Map<K,​V>>, BiSemigroupFactory<Fn0<java.util.Map<K,​V>>,​Semigroup<V>,​java.util.Map<K,​V>>, Applicative<Fn1<Semigroup<V>,​Fn1<java.util.Map<K,​V>,​Fn1<java.util.Map<K,​V>,​java.util.Map<K,​V>>>>,​Fn1<Fn0<java.util.Map<K,​V>>,​?>>, Cartesian<Fn0<java.util.Map<K,​V>>,​Fn1<Semigroup<V>,​Fn1<java.util.Map<K,​V>,​Fn1<java.util.Map<K,​V>,​java.util.Map<K,​V>>>>,​Fn1<?,​?>>, Cocartesian<Fn0<java.util.Map<K,​V>>,​Fn1<Semigroup<V>,​Fn1<java.util.Map<K,​V>,​Fn1<java.util.Map<K,​V>,​java.util.Map<K,​V>>>>,​Fn1<?,​?>>, Contravariant<Fn0<java.util.Map<K,​V>>,​Profunctor<?,​Fn1<Semigroup<V>,​Fn1<java.util.Map<K,​V>,​Fn1<java.util.Map<K,​V>,​java.util.Map<K,​V>>>>,​Fn1<?,​?>>>, Functor<Fn1<Semigroup<V>,​Fn1<java.util.Map<K,​V>,​Fn1<java.util.Map<K,​V>,​java.util.Map<K,​V>>>>,​Fn1<Fn0<java.util.Map<K,​V>>,​?>>, Profunctor<Fn0<java.util.Map<K,​V>>,​Fn1<Semigroup<V>,​Fn1<java.util.Map<K,​V>,​Fn1<java.util.Map<K,​V>,​java.util.Map<K,​V>>>>,​Fn1<?,​?>>, Monad<Fn1<Semigroup<V>,​Fn1<java.util.Map<K,​V>,​Fn1<java.util.Map<K,​V>,​java.util.Map<K,​V>>>>,​Fn1<Fn0<java.util.Map<K,​V>>,​?>>, MonadReader<Fn0<java.util.Map<K,​V>>,​Fn1<Semigroup<V>,​Fn1<java.util.Map<K,​V>,​Fn1<java.util.Map<K,​V>,​java.util.Map<K,​V>>>>,​Fn1<Fn0<java.util.Map<K,​V>>,​?>>, MonadRec<Fn1<Semigroup<V>,​Fn1<java.util.Map<K,​V>,​Fn1<java.util.Map<K,​V>,​java.util.Map<K,​V>>>>,​Fn1<Fn0<java.util.Map<K,​V>>,​?>>, MonadWriter<Fn0<java.util.Map<K,​V>>,​Fn1<Semigroup<V>,​Fn1<java.util.Map<K,​V>,​Fn1<java.util.Map<K,​V>,​java.util.Map<K,​V>>>>,​Fn1<Fn0<java.util.Map<K,​V>>,​?>>

    public final class MergeMaps<K,​V>
    extends java.lang.Object
    implements BiMonoidFactory<Fn0<java.util.Map<K,​V>>,​Semigroup<V>,​java.util.Map<K,​V>>
    A Monoid instance formed by Map.merge(Object, Object, BiFunction) and a semigroup over V. Combines together multiple maps using the provided semigroup for key collisions.
    See Also:
    Monoid, Map
    • Field Detail

      • INSTANCE

        private static final MergeMaps<?,​?> INSTANCE
    • Constructor Detail

      • MergeMaps

        private MergeMaps()
    • Method Detail

      • mergeMaps

        public static <K,​V> MergeMaps<K,​V> mergeMaps()
      • mergeMaps

        public static <K,​V> MonoidFactory<Semigroup<V>,​java.util.Map<K,​V>> mergeMaps​(Fn0<java.util.Map<K,​V>> mFn0)
      • mergeMaps

        public static <K,​V> Monoid<java.util.Map<K,​V>> mergeMaps​(Fn0<java.util.Map<K,​V>> mFn0,
                                                                             Semigroup<V> semigroup)
      • mergeMaps

        public static <K,​V> Fn1<java.util.Map<K,​V>,​java.util.Map<K,​V>> mergeMaps​(Fn0<java.util.Map<K,​V>> mFn0,
                                                                                                         Semigroup<V> semigroup,
                                                                                                         java.util.Map<K,​V> x)
      • mergeMaps

        public static <K,​V> java.util.Map<K,​V> mergeMaps​(Fn0<java.util.Map<K,​V>> mFn0,
                                                                     Semigroup<V> semigroup,
                                                                     java.util.Map<K,​V> x,
                                                                     java.util.Map<K,​V> y)