Class HashNMap

  • All Implemented Interfaces:
    Serializable, Cloneable

    public class HashNMap
    extends Object
    implements Serializable, Cloneable
    The HashNMap can be used to store multiple values by a single key value. The values stored can be retrieved using a direct query or by creating an enumeration over the stored elements.
    Author:
    Thomas Morgner
    See Also:
    Serialized Form
    • Constructor Detail

      • HashNMap

        public HashNMap()
        Default constructor.
    • Method Detail

      • createList

        protected List createList()
        Returns a new empty list.
        Returns:
        A new empty list.
      • put

        public boolean put​(Object key,
                           Object val)
        Inserts a new key/value pair into the map. If such a pair already exists, it gets replaced with the given values.
        Parameters:
        key - the key.
        val - the value.
        Returns:
        A boolean.
      • add

        public boolean add​(Object key,
                           Object val)
        Adds a new key/value pair into this map. If the key is not yet in the map, it gets added to the map and the call is equal to put(Object,Object).
        Parameters:
        key - the key.
        val - the value.
        Returns:
        true, if the value has been added, false otherwise
      • getFirst

        public Object getFirst​(Object key)
        Retrieves the first value registered for an key or null if there was no such key in the list.
        Parameters:
        key - the key.
        Returns:
        the value.
      • get

        public Object get​(Object key,
                          int n)
        Retrieves the n-th value registered for an key or null if there was no such key in the list. An index out of bounds exception is thrown if there are less than n elements registered to this key.
        Parameters:
        key - the key.
        n - the index.
        Returns:
        the object.
      • getAll

        public Iterator getAll​(Object key)
        Returns an iterator over all elements registered to the given key.
        Parameters:
        key - the key.
        Returns:
        an iterator.
      • keys

        public Iterator keys()
        Returns all registered keys as an enumeration.
        Returns:
        an enumeration of the keys.
      • keySet

        public Set keySet()
        Returns all registered keys as set.
        Returns:
        a set of keys.
      • remove

        public boolean remove​(Object key,
                              Object value)
        Removes the key/value pair from the map. If the removed entry was the last entry for this key, the key gets also removed.
        Parameters:
        key - the key.
        value - the value.
        Returns:
        true, if removing the element was successfull, false otherwise.
      • removeAll

        public void removeAll​(Object key)
        Removes all elements for the given key.
        Parameters:
        key - the key.
      • clear

        public void clear()
        Clears all keys and values of this map.
      • containsKey

        public boolean containsKey​(Object key)
        Tests whether this map contains the given key.
        Parameters:
        key - the key.
        Returns:
        true if the key is contained in the map
      • containsValue

        public boolean containsValue​(Object value)
        Tests whether this map contains the given value.
        Parameters:
        value - the value.
        Returns:
        true if the value is registered in the map for an key.
      • containsValue

        public boolean containsValue​(Object key,
                                     Object value)
        Tests whether this map contains the given value.
        Parameters:
        value - the value.
        key - the key under which to find the value
        Returns:
        true if the value is registered in the map for an key.
      • contains

        public boolean contains​(Object value)
        Tests whether this map contains the given key or value.
        Parameters:
        value - the value.
        Returns:
        true if the key or value is contained in the map
      • toArray

        public Object[] toArray​(Object key,
                                Object[] data)
        Returns the contents for the given key as object array. If there were no objects registered with that key, an empty object array is returned.
        Parameters:
        key - the key.
        data - the object array to receive the contents.
        Returns:
        the contents.
      • toArray

        public Object[] toArray​(Object key)
        Returns the contents for the given key as object array. If there were no objects registered with that key, an empty object array is returned.
        Parameters:
        key - the key.
        Returns:
        the contents.
      • getValueCount

        public int getValueCount​(Object key)
        Returns the number of elements registered with the given key.
        Parameters:
        key - the key.
        Returns:
        the number of element for this key, or 0 if there are no elements registered.