Class MapUtils


  • public final class MapUtils
    extends Object
    • Method Detail

      • invert

        public static <S,​T> Map<S,​Set<T>> invert​(Map<T,​S> map)
      • apply

        public static <S,​T,​U> Map<S,​Set<U>> apply​(Map<S,​Set<T>> mapset,
                                                                    Function<T,​U> function)
        Changes mapping from S -> Set<T> to mapping S -> Set<U> using Function that can change T to U.
        Type Parameters:
        S - A key that maps to set of values in input and result map
        T - A type of input set of values
        U - A type of result set of values
        Parameters:
        mapset -
        function -
        Returns:
      • apply

        public static <U,​T> Set<U> apply​(Set<T> set,
                                               Function<T,​U> function)
      • map

        public static <T,​U> Function<T,​U> map​(Map<T,​U> map)
      • contains

        public static <S,​T> boolean contains​(Map<S,​Set<T>> mapset,
                                                   S key,
                                                   T val)
      • flatten

        public static <S,​T> Set<T> flatten​(Map<S,​Set<T>> mapset)
      • diff

        public static <S,​T> Map<S,​Set<T>> diff​(Map<S,​Set<T>> from,
                                                           Map<S,​Set<T>> to)
        Produces a map where each set value in from map has every element that's in to map's set value removed. If from map is left with empty set value, entire set is removed.
        Type Parameters:
        S -
        T -
        Parameters:
        from -
        to -
        Returns:
      • add

        public static <S,​T> void add​(Map<S,​Set<T>> from,
                                           Map<S,​Set<T>> toAdd)
      • retain

        public static <S,​T> void retain​(Map<S,​Set<T>> from,
                                              Map<S,​Set<T>> toRetain)
      • remove

        public static <S,​T> void remove​(Map<S,​Set<T>> from,
                                              Map<S,​Set<T>> toRemove)
        Removes all values from toRemove map from from map. After removal, set values in from map may be smaller or removed entirely (if there are no more values in given set).
        Type Parameters:
        S -
        T -
        Parameters:
        from -
        toRemove -
      • copy

        public static <S> S copy​(S obj)
      • copy

        public static <S> void copy​(S s1,
                                    S s2)
      • copyMapSet

        public static <S,​T> Map<S,​Set<T>> copyMapSet​(Map<S,​Set<T>> from)
      • copyMapSet

        public static <S,​T> void copyMapSet​(Map<S,​Set<T>> from,
                                                  Map<S,​Set<T>> to)
      • addToMapSet

        public static <S,​T> void addToMapSet​(Map<S,​Set<T>> map,
                                                   S key,
                                                   T value)
      • removeFromMapSet

        public static <S,​T> void removeFromMapSet​(Map<S,​Set<T>> map,
                                                        S key,
                                                        T value)
      • diff

        public static <T> Set<T> diff​(Set<T> s1,
                                      Set<T> s2)
      • map

        public static <S,​T> Set<T> map​(Set<S> s,
                                             Function<S,​T> mapper)
      • filter

        public static <S> Set<S> filter​(Set<S> s,
                                        Predicate<S> predicate)