Class AbstractCollValueMap<K,V,C extends Collection<V>>

java.lang.Object
org.aoju.bus.core.map.MapWrapper<K,C>
org.aoju.bus.core.map.AbstractCollValueMap<K,V,C>
Type Parameters:
K - 键类型
V - 值类型
C - 集合类型
All Implemented Interfaces:
Serializable, Cloneable, Iterable<Map.Entry<K,C>>, Map<K,C>
Direct Known Subclasses:
CollectionValueMap, ListValueMap, SetValueMap

public abstract class AbstractCollValueMap<K,V,C extends Collection<V>> extends MapWrapper<K,C>
值作为集合的Map实现,通过调用putValue可以在相同key时加入多个值,多个值用集合表示
Since:
Java 17+
Author:
Kimi Liu
See Also:
  • Field Details

    • DEFAULT_COLLECTION_INITIAL_CAPACITY

      protected static final int DEFAULT_COLLECTION_INITIAL_CAPACITY
      默认集合初始大小
      See Also:
  • Constructor Details

    • AbstractCollValueMap

      public AbstractCollValueMap()
      构造
    • AbstractCollValueMap

      public AbstractCollValueMap(int initialCapacity)
      构造
      Parameters:
      initialCapacity - 初始大小
    • AbstractCollValueMap

      public AbstractCollValueMap(Map<? extends K,C> m)
      构造
      Parameters:
      m - Map
    • AbstractCollValueMap

      public AbstractCollValueMap(float loadFactor, Map<? extends K,C> m)
      构造
      Parameters:
      loadFactor - 加载因子
      m - Map
    • AbstractCollValueMap

      public AbstractCollValueMap(int initialCapacity, float loadFactor)
      构造
      Parameters:
      initialCapacity - 初始大小
      loadFactor - 加载因子
  • Method Details

    • putAllValues

      public void putAllValues(Map<? extends K,? extends Collection<V>> m)
      放入所有value
      Parameters:
      m - valueMap
    • putValue

      public void putValue(K key, V value)
      放入Value 如果键对应值列表有值,加入,否则创建一个新列表后加入
      Parameters:
      key - 键
      value - 值
    • get

      public V get(K key, int index)
      获取值
      Parameters:
      key - 键
      index - 第几个值的索引,越界返回null
      Returns:
      值或null
    • createCollection

      protected abstract C createCollection()
      创建集合 此方法用于创建在putValue后追加值所在的集合,子类实现此方法创建不同类型的集合
      Returns:
      Collection