Class MultiMap<K,V>

java.lang.Object
cool.scx.common.util.MultiMap<K,V>
Type Parameters:
K - Key
V - Value

public final class MultiMap<K,V> extends Object
MultiMap
Version:
0.0.1
Author:
scx567888
  • Constructor Details

    • MultiMap

      public MultiMap(Supplier<Map<K,List<V>>> mapSupplier, Supplier<List<V>> listSupplier)
      指定内部的 map 实现和内部的 key 实现
      Parameters:
      mapSupplier - mapSupplier
      listSupplier - listSupplier
    • MultiMap

      public MultiMap()
      默认内部 map 使用 HashMap, key 使用 ArrayList
  • Method Details

    • toMultiValueMap

      public Map<K,List<V>> toMultiValueMap()
    • toSingleValueMap

      public Map<K,V> toSingleValueMap()
    • toSingleValueMap

      public Map<K,V> toSingleValueMap(Supplier<Map<K,V>> mapSupplier)
    • keySet

      public Set<K> keySet()
    • values

      public List<V> values()
    • get

      public List<V> get(K key)
      永不返回 null
      Parameters:
      key - a
      Returns:
      a
    • getFirst

      public V getFirst(K key)
    • remove

      public boolean remove(K key, V value)
    • removeAll

      public List<V> removeAll(K key)
    • put

      public boolean put(K key, V value)
    • putAll

      public boolean putAll(K key, Collection<? extends V> values)
    • putAll

      public void putAll(Map<? extends K,? extends V> v)
    • putAll

      public void putAll(MultiMap<? extends K,? extends V> v)
    • set

      public void set(K key, V value)
    • setAll

      public void setAll(Map<? extends K,? extends V> values)
    • containsKey

      public boolean containsKey(K key)
    • containsValue

      public boolean containsValue(V value)
    • clear

      public void clear()
    • isEmpty

      public boolean isEmpty()
    • size

      public long size()
    • forEach

      public void forEach(BiConsumer<? super K,? super V> action)
    • toString

      public String toString()
      Overrides:
      toString in class Object