Module org.hsqldb

Class MultiValueHashMap<K,V>

java.lang.Object
org.hsqldb.map.BaseHashMap
org.hsqldb.lib.MultiValueHashMap<K,V>
All Implemented Interfaces:
Map<K,V>

public class MultiValueHashMap<K,V> extends org.hsqldb.map.BaseHashMap implements Map<K,V>
A Map of Object keys to Object values which stores multiple values per key. The getValuesIterator(K key) method returns an iterator covering the values associated with the given key. The get(K key) method returns the first value (if any) associated with the key.

This class does not store null keys.

Since:
1.9.0
Author:
Fred Toussi (fredt@users dot sourceforge.net)
  • Constructor Details

  • Method Details

    • containsKey

      public boolean containsKey(Object key)
      Specified by:
      containsKey in interface Map<K,V>
    • containsValue

      public boolean containsValue(Object value)
      Specified by:
      containsValue in interface Map<K,V>
    • get

      public V get(Object key)
      Returns one of the values associated with the given key.
      Specified by:
      get in interface Map<K,V>
      Parameters:
      key - the key
      Returns:
      any value associated with the key, or null if none
    • getValuesIterator

      public Iterator<V> getValuesIterator(Object key)
      Returns an iterator on all values associated with the key.
      Parameters:
      key - the key
      Returns:
      iterator on value associated with the key
    • put

      public V put(K key, V value)
      Specified by:
      put in interface Map<K,V>
    • remove

      public V remove(Object key)
      Removes all values associated with the key.
      Specified by:
      remove in interface Map<K,V>
      Parameters:
      key - the key
      Returns:
      any value associated with the key, or null if none
    • remove

      public boolean remove(Object key, Object value)
      Removes the spacific value associated with the key.
      Parameters:
      key - the key
      value - the value
      Returns:
      the value associated with the key, or null if none
    • valueCount

      public int valueCount(Object key)
      Counts the values associated with the key.
      Parameters:
      key - the key
      Returns:
      the count
    • putAll

      public void putAll(Map<? extends K,? extends V> m)
      Specified by:
      putAll in interface Map<K,V>
    • putAll

      public void putAll(MultiValueHashMap<K,V> m)
    • keysToArray

      public <T> T[] keysToArray(T[] array)
    • valuesToArray

      public <T> T[] valuesToArray(T[] array)
    • keySet

      public Set<K> keySet()
      Specified by:
      keySet in interface Map<K,V>
    • values

      public Collection<V> values()
      Specified by:
      values in interface Map<K,V>
    • entrySet

      public Set<Map.Entry<K,V>> entrySet()
      Specified by:
      entrySet in interface Map<K,V>