Class HashMultimap.Builder<V>

  • Enclosing class:
    HashMultimap<K,​V>

    public static class HashMultimap.Builder<V>
    extends java.lang.Object
    • Method Summary

      Modifier and Type Method Description
      <K,​V2 extends V>
      java.util.stream.Collector<Tuple2<K,​V2>,​java.util.ArrayList<Tuple2<K,​V2>>,​Multimap<K,​V2>>
      collector()
      Returns a Collector which may be used in conjunction with Stream.collect(Collector) to obtain a HashMultimap.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      empty()
      Returns the empty HashMultimap.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      fill​(int n, Tuple2<? extends K,​? extends V2> element)
      Returns a HashMultimap containing n times the given element
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      fill​(int n, java.util.function.Supplier<? extends Tuple2<? extends K,​? extends V2>> s)
      Returns a HashMultimap containing n values supplied by a given Supplier s.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      of​(Tuple2<? extends K,​? extends V2> entry)
      Creates a HashMultimap of the given key-value pair.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      of​(K key, V2 value)
      Creates a HashMultimap of the given key-value pair.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      of​(K k1, V2 v1, K k2, V2 v2)
      Creates a HashMultimap of the given list of key-value pairs.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      of​(K k1, V2 v1, K k2, V2 v2, K k3, V2 v3)
      Creates a HashMultimap of the given list of key-value pairs.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      of​(K k1, V2 v1, K k2, V2 v2, K k3, V2 v3, K k4, V2 v4)
      Creates a HashMultimap of the given list of key-value pairs.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      of​(K k1, V2 v1, K k2, V2 v2, K k3, V2 v3, K k4, V2 v4, K k5, V2 v5)
      Creates a HashMultimap of the given list of key-value pairs.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      of​(K k1, V2 v1, K k2, V2 v2, K k3, V2 v3, K k4, V2 v4, K k5, V2 v5, K k6, V2 v6)
      Creates a HashMultimap of the given list of key-value pairs.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      of​(K k1, V2 v1, K k2, V2 v2, K k3, V2 v3, K k4, V2 v4, K k5, V2 v5, K k6, V2 v6, K k7, V2 v7)
      Creates a HashMultimap of the given list of key-value pairs.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      of​(K k1, V2 v1, K k2, V2 v2, K k3, V2 v3, K k4, V2 v4, K k5, V2 v5, K k6, V2 v6, K k7, V2 v7, K k8, V2 v8)
      Creates a HashMultimap of the given list of key-value pairs.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      of​(K k1, V2 v1, K k2, V2 v2, K k3, V2 v3, K k4, V2 v4, K k5, V2 v5, K k6, V2 v6, K k7, V2 v7, K k8, V2 v8, K k9, V2 v9)
      Creates a HashMultimap of the given list of key-value pairs.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      of​(K k1, V2 v1, K k2, V2 v2, K k3, V2 v3, K k4, V2 v4, K k5, V2 v5, K k6, V2 v6, K k7, V2 v7, K k8, V2 v8, K k9, V2 v9, K k10, V2 v10)
      Creates a HashMultimap of the given list of key-value pairs.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      ofAll​(java.util.Map<? extends K,​? extends V2> map)
      Returns a HashMultimap, from a source java.util.Map.
      <T,​K,​V2 extends V>
      HashMultimap<K,​V2>
      ofAll​(java.util.stream.Stream<? extends T> stream, java.util.function.Function<? super T,​? extends K> keyMapper, java.util.function.Function<? super T,​? extends V2> valueMapper)
      Returns a HashMultimap, from entries mapped from stream.
      <T,​K,​V2 extends V>
      HashMultimap<K,​V2>
      ofAll​(java.util.stream.Stream<? extends T> stream, java.util.function.Function<? super T,​Tuple2<? extends K,​? extends V2>> entryMapper)
      Returns a HashMultimap, from entries mapped from stream.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      ofEntries​(Tuple2<? extends K,​? extends V2>... entries)
      Creates a HashMultimap of the given entries.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      ofEntries​(java.lang.Iterable<? extends Tuple2<? extends K,​? extends V2>> entries)
      Creates a HashMultimap of the given entries.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      ofEntries​(java.util.Map.Entry<? extends K,​? extends V2>... entries)
      Creates a HashMultimap of the given entries.
      <K,​V2 extends V>
      HashMultimap<K,​V2>
      tabulate​(int n, java.util.function.Function<? super java.lang.Integer,​? extends Tuple2<? extends K,​? extends V2>> f)
      Returns a HashMultimap containing n values of a given Function f over a range of integer values from 0 to n - 1.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • empty

        public <K,​V2 extends VHashMultimap<K,​V2> empty()
        Returns the empty HashMultimap.
        Type Parameters:
        K - The key type
        V2 - The value type
        Returns:
        A new empty HashMultimap.
      • ofEntries

        public <K,​V2 extends VHashMultimap<K,​V2> ofEntries​(java.lang.Iterable<? extends Tuple2<? extends K,​? extends V2>> entries)
        Creates a HashMultimap of the given entries.
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        entries - Multimap entries
        Returns:
        A new HashMultimap containing the given entries.
      • ofEntries

        @SafeVarargs
        public final <K,​V2 extends VHashMultimap<K,​V2> ofEntries​(Tuple2<? extends K,​? extends V2>... entries)
        Creates a HashMultimap of the given entries.
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        entries - Multimap entries
        Returns:
        A new HashMultimap containing the given entries.
      • ofEntries

        @SafeVarargs
        public final <K,​V2 extends VHashMultimap<K,​V2> ofEntries​(java.util.Map.Entry<? extends K,​? extends V2>... entries)
        Creates a HashMultimap of the given entries.
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        entries - Multimap entries
        Returns:
        A new HashMultimap containing the given entries.
      • ofAll

        public <K,​V2 extends VHashMultimap<K,​V2> ofAll​(java.util.Map<? extends K,​? extends V2> map)
        Returns a HashMultimap, from a source java.util.Map.
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        map - A map
        Returns:
        A new Multimap containing the given map entries
      • ofAll

        public <T,​K,​V2 extends VHashMultimap<K,​V2> ofAll​(java.util.stream.Stream<? extends T> stream,
                                                                             java.util.function.Function<? super T,​? extends K> keyMapper,
                                                                             java.util.function.Function<? super T,​? extends V2> valueMapper)
        Returns a HashMultimap, from entries mapped from stream.
        Type Parameters:
        T - The stream element type
        K - The key type
        V2 - The value type
        Parameters:
        stream - the source stream
        keyMapper - the key mapper
        valueMapper - the value mapper
        Returns:
        A new Multimap
      • ofAll

        public <T,​K,​V2 extends VHashMultimap<K,​V2> ofAll​(java.util.stream.Stream<? extends T> stream,
                                                                             java.util.function.Function<? super T,​Tuple2<? extends K,​? extends V2>> entryMapper)
        Returns a HashMultimap, from entries mapped from stream.
        Type Parameters:
        T - The stream element type
        K - The key type
        V2 - The value type
        Parameters:
        stream - the source stream
        entryMapper - the entry mapper
        Returns:
        A new HashMultimap
      • tabulate

        public <K,​V2 extends VHashMultimap<K,​V2> tabulate​(int n,
                                                                        java.util.function.Function<? super java.lang.Integer,​? extends Tuple2<? extends K,​? extends V2>> f)
        Returns a HashMultimap containing n values of a given Function f over a range of integer values from 0 to n - 1.
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        n - The number of elements in the HashMultimap
        f - The Function computing element values
        Returns:
        A HashMultimap consisting of elements f(0),f(1), ..., f(n - 1)
        Throws:
        java.lang.NullPointerException - if f is null
      • fill

        public <K,​V2 extends VHashMultimap<K,​V2> fill​(int n,
                                                                    java.util.function.Supplier<? extends Tuple2<? extends K,​? extends V2>> s)
        Returns a HashMultimap containing n values supplied by a given Supplier s.
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        n - The number of elements in the HashMultimap
        s - The Supplier computing element values
        Returns:
        A HashMultimap of size n, where each element contains the result supplied by s.
        Throws:
        java.lang.NullPointerException - if s is null
      • fill

        public <K,​V2 extends VHashMultimap<K,​V2> fill​(int n,
                                                                    Tuple2<? extends K,​? extends V2> element)
        Returns a HashMultimap containing n times the given element
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        n - The number of elements in the HashMultimap
        element - The element
        Returns:
        A HashMultimap of size 1, where each element contains n values of element._2.
      • of

        public <K,​V2 extends VHashMultimap<K,​V2> of​(K key,
                                                                  V2 value)
        Creates a HashMultimap of the given key-value pair.
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        key - a key for the map
        value - the value for key
        Returns:
        A new Multimap containing the given entries
      • of

        public <K,​V2 extends VHashMultimap<K,​V2> of​(K k1,
                                                                  V2 v1,
                                                                  K k2,
                                                                  V2 v2)
        Creates a HashMultimap of the given list of key-value pairs.
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        k1 - a key for the map
        v1 - the value for k1
        k2 - a key for the map
        v2 - the value for k2
        Returns:
        A new Multimap containing the given entries
      • of

        public <K,​V2 extends VHashMultimap<K,​V2> of​(K k1,
                                                                  V2 v1,
                                                                  K k2,
                                                                  V2 v2,
                                                                  K k3,
                                                                  V2 v3)
        Creates a HashMultimap of the given list of key-value pairs.
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        k1 - a key for the map
        v1 - the value for k1
        k2 - a key for the map
        v2 - the value for k2
        k3 - a key for the map
        v3 - the value for k3
        Returns:
        A new Multimap containing the given entries
      • of

        public <K,​V2 extends VHashMultimap<K,​V2> of​(K k1,
                                                                  V2 v1,
                                                                  K k2,
                                                                  V2 v2,
                                                                  K k3,
                                                                  V2 v3,
                                                                  K k4,
                                                                  V2 v4)
        Creates a HashMultimap of the given list of key-value pairs.
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        k1 - a key for the map
        v1 - the value for k1
        k2 - a key for the map
        v2 - the value for k2
        k3 - a key for the map
        v3 - the value for k3
        k4 - a key for the map
        v4 - the value for k4
        Returns:
        A new Multimap containing the given entries
      • of

        public <K,​V2 extends VHashMultimap<K,​V2> of​(K k1,
                                                                  V2 v1,
                                                                  K k2,
                                                                  V2 v2,
                                                                  K k3,
                                                                  V2 v3,
                                                                  K k4,
                                                                  V2 v4,
                                                                  K k5,
                                                                  V2 v5)
        Creates a HashMultimap of the given list of key-value pairs.
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        k1 - a key for the map
        v1 - the value for k1
        k2 - a key for the map
        v2 - the value for k2
        k3 - a key for the map
        v3 - the value for k3
        k4 - a key for the map
        v4 - the value for k4
        k5 - a key for the map
        v5 - the value for k5
        Returns:
        A new Multimap containing the given entries
      • of

        public <K,​V2 extends VHashMultimap<K,​V2> of​(K k1,
                                                                  V2 v1,
                                                                  K k2,
                                                                  V2 v2,
                                                                  K k3,
                                                                  V2 v3,
                                                                  K k4,
                                                                  V2 v4,
                                                                  K k5,
                                                                  V2 v5,
                                                                  K k6,
                                                                  V2 v6)
        Creates a HashMultimap of the given list of key-value pairs.
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        k1 - a key for the map
        v1 - the value for k1
        k2 - a key for the map
        v2 - the value for k2
        k3 - a key for the map
        v3 - the value for k3
        k4 - a key for the map
        v4 - the value for k4
        k5 - a key for the map
        v5 - the value for k5
        k6 - a key for the map
        v6 - the value for k6
        Returns:
        A new Multimap containing the given entries
      • of

        public <K,​V2 extends VHashMultimap<K,​V2> of​(K k1,
                                                                  V2 v1,
                                                                  K k2,
                                                                  V2 v2,
                                                                  K k3,
                                                                  V2 v3,
                                                                  K k4,
                                                                  V2 v4,
                                                                  K k5,
                                                                  V2 v5,
                                                                  K k6,
                                                                  V2 v6,
                                                                  K k7,
                                                                  V2 v7)
        Creates a HashMultimap of the given list of key-value pairs.
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        k1 - a key for the map
        v1 - the value for k1
        k2 - a key for the map
        v2 - the value for k2
        k3 - a key for the map
        v3 - the value for k3
        k4 - a key for the map
        v4 - the value for k4
        k5 - a key for the map
        v5 - the value for k5
        k6 - a key for the map
        v6 - the value for k6
        k7 - a key for the map
        v7 - the value for k7
        Returns:
        A new Multimap containing the given entries
      • of

        public <K,​V2 extends VHashMultimap<K,​V2> of​(K k1,
                                                                  V2 v1,
                                                                  K k2,
                                                                  V2 v2,
                                                                  K k3,
                                                                  V2 v3,
                                                                  K k4,
                                                                  V2 v4,
                                                                  K k5,
                                                                  V2 v5,
                                                                  K k6,
                                                                  V2 v6,
                                                                  K k7,
                                                                  V2 v7,
                                                                  K k8,
                                                                  V2 v8)
        Creates a HashMultimap of the given list of key-value pairs.
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        k1 - a key for the map
        v1 - the value for k1
        k2 - a key for the map
        v2 - the value for k2
        k3 - a key for the map
        v3 - the value for k3
        k4 - a key for the map
        v4 - the value for k4
        k5 - a key for the map
        v5 - the value for k5
        k6 - a key for the map
        v6 - the value for k6
        k7 - a key for the map
        v7 - the value for k7
        k8 - a key for the map
        v8 - the value for k8
        Returns:
        A new Multimap containing the given entries
      • of

        public <K,​V2 extends VHashMultimap<K,​V2> of​(K k1,
                                                                  V2 v1,
                                                                  K k2,
                                                                  V2 v2,
                                                                  K k3,
                                                                  V2 v3,
                                                                  K k4,
                                                                  V2 v4,
                                                                  K k5,
                                                                  V2 v5,
                                                                  K k6,
                                                                  V2 v6,
                                                                  K k7,
                                                                  V2 v7,
                                                                  K k8,
                                                                  V2 v8,
                                                                  K k9,
                                                                  V2 v9)
        Creates a HashMultimap of the given list of key-value pairs.
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        k1 - a key for the map
        v1 - the value for k1
        k2 - a key for the map
        v2 - the value for k2
        k3 - a key for the map
        v3 - the value for k3
        k4 - a key for the map
        v4 - the value for k4
        k5 - a key for the map
        v5 - the value for k5
        k6 - a key for the map
        v6 - the value for k6
        k7 - a key for the map
        v7 - the value for k7
        k8 - a key for the map
        v8 - the value for k8
        k9 - a key for the map
        v9 - the value for k9
        Returns:
        A new Multimap containing the given entries
      • of

        public <K,​V2 extends VHashMultimap<K,​V2> of​(K k1,
                                                                  V2 v1,
                                                                  K k2,
                                                                  V2 v2,
                                                                  K k3,
                                                                  V2 v3,
                                                                  K k4,
                                                                  V2 v4,
                                                                  K k5,
                                                                  V2 v5,
                                                                  K k6,
                                                                  V2 v6,
                                                                  K k7,
                                                                  V2 v7,
                                                                  K k8,
                                                                  V2 v8,
                                                                  K k9,
                                                                  V2 v9,
                                                                  K k10,
                                                                  V2 v10)
        Creates a HashMultimap of the given list of key-value pairs.
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        k1 - a key for the map
        v1 - the value for k1
        k2 - a key for the map
        v2 - the value for k2
        k3 - a key for the map
        v3 - the value for k3
        k4 - a key for the map
        v4 - the value for k4
        k5 - a key for the map
        v5 - the value for k5
        k6 - a key for the map
        v6 - the value for k6
        k7 - a key for the map
        v7 - the value for k7
        k8 - a key for the map
        v8 - the value for k8
        k9 - a key for the map
        v9 - the value for k9
        k10 - a key for the map
        v10 - the value for k10
        Returns:
        A new Multimap containing the given entries
      • of

        public <K,​V2 extends VHashMultimap<K,​V2> of​(Tuple2<? extends K,​? extends V2> entry)
        Creates a HashMultimap of the given key-value pair. Returns a singleton HashMultimap, i.e. a HashMultimap of one entry.
        Type Parameters:
        K - The key type
        V2 - The value type
        Parameters:
        entry - A tuple containing the key-value pair.
        Returns:
        A new HashMultimap containing the given entry.
      • collector

        public <K,​V2 extends V> java.util.stream.Collector<Tuple2<K,​V2>,​java.util.ArrayList<Tuple2<K,​V2>>,​Multimap<K,​V2>> collector()
        Returns a Collector which may be used in conjunction with Stream.collect(Collector) to obtain a HashMultimap.
        Type Parameters:
        K - The key type
        V2 - The value type
        Returns:
        A HashMultimap Collector.