com.groiss.ds
Class MultiMap<K,V>

java.lang.Object
  extended by com.groiss.ds.MultiMap<K,V>
All Implemented Interfaces:
java.io.Serializable

public class MultiMap<K,V>
extends java.lang.Object
implements java.io.Serializable

A MultiMap maps keys to objects, where one key can be mapped to a list of objects. By default the MultiMap is not threadsafe there are two constructors where you can specify the concurrency settings MultiMap(boolean), MultiMap(boolean, int, int). If nothing is specified, the multimap has an default initial capacity of 16 and an default subVectorSize of 16

See Also:
Serialized Form

Constructor Summary
MultiMap()
          Constructs an empty, not threadsafe MultiMap with default initialcapacity (16) and default subVectorSize (16)
MultiMap(boolean threadSafe)
          Constructs an empty MultiMap
MultiMap(boolean threadSafe, int capacity, int initialVectorSize)
          Constructs an empty MultiMap with the given settings
MultiMap(int initialSubSize)
          Constructs a MultiMap and specifies an initial size for the Vectors holding the values to the keys.
MultiMap(int capacity, int initialSubSize)
          Creates a new MultiMap with the defined capacity and Vector size.
 
Method Summary
 void clear()
          Removes all mappings from this map
 boolean containsKey(java.lang.Object key)
          Returns true if this map contains a mapping for the specified key.
 boolean containsValue(java.lang.Object value)
          Returns true if this map maps one or more keys to the specified value.
 int count(java.lang.Object key)
          Returns number of values mapped to a given key.
 java.util.Enumeration<java.util.List<V>> elements()
          Returns the elements in the map
 java.util.Set<java.util.Map.Entry<K,java.util.List<V>>> entrySet()
          Returns a set view of the mappings contained in this map.
 java.util.Enumeration<V> enumeration(java.lang.Object key)
          Returns all values mapped to a given key, or null
 java.util.List<V> get(java.lang.Object key)
          Returns the values to which this map maps the specified key or null if there's no mapping
 java.util.List<V> getEntries(java.lang.Object key)
          Deprecated. since 8.0; use get(Object) instead
 java.util.List<V> getEntryList(java.lang.Object key)
          returns a list containing all entries, mapped to the given key; if no value is mapped to this key, an empty list is returned
 boolean hasValue(java.lang.Object key, java.lang.Object value)
          Finds out if the object key has a mapping to the object value.
 boolean isEmpty()
          Returns true if this map contains no key-value mappings.
 java.util.Enumeration<K> keys()
          Deprecated. since 8.0; use keySet() instead
 java.util.Set<K> keySet()
          Returns a set view of the keys contained in this map.
 void put(K key, V value)
          Put the mapping of a key and an object to the map.
 void putAll(K key, java.util.Collection<? extends V> values)
          Adds all the values to the given key
 void putAll(java.util.Map<? extends K,? extends java.util.List<V>> t)
          Copies all of the mappings from the specified map to this map
 java.util.List<V> remove(java.lang.Object key)
          Removes the mapping for this key from this map if it is present
 boolean remove(java.lang.Object key, java.lang.Object value)
          Removes the value for a certain key.
 int size()
           
 java.lang.String toString()
           
 java.util.Collection<java.util.List<V>> values()
          Returns a collection view of the values contained in this map.
 java.util.Set<V> valueSet()
          Return all values in this map as a single flattened set.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MultiMap

public MultiMap()
Constructs an empty, not threadsafe MultiMap with default initialcapacity (16) and default subVectorSize (16)


MultiMap

public MultiMap(boolean threadSafe)
Constructs an empty MultiMap

Parameters:
threadSafe - whether the map is threadsafe or not

MultiMap

public MultiMap(boolean threadSafe,
                int capacity,
                int initialVectorSize)
Constructs an empty MultiMap with the given settings

Parameters:
threadSafe -
capacity - capacity of the map
initialVectorSize - capacity of the created collections to store the values

MultiMap

public MultiMap(int initialSubSize)
Constructs a MultiMap and specifies an initial size for the Vectors holding the values to the keys. Every new Vector will be created with this initial size. If you use the other constructor, the initial size will have a default value of 16.

Parameters:
initialSubSize - New Vectors will be created with this size.

MultiMap

public MultiMap(int capacity,
                int initialSubSize)
Creates a new MultiMap with the defined capacity and Vector size.

Parameters:
capacity - The Map will have this initial size. The load factor is the standard value of 0.75.
initialSubSize - New Vectors will be created with this size.
Method Detail

clear

public void clear()
Removes all mappings from this map


containsKey

public boolean containsKey(java.lang.Object key)
Returns true if this map contains a mapping for the specified key. More formally, returns true if and only if this map contains a mapping for a key k such that (key==null ? k==null : key.equals(k)).

Parameters:
key - key whose presence in this map is to be tested.
Returns:
true if this map contains a mapping for the specified key.

containsValue

public boolean containsValue(java.lang.Object value)
Returns true if this map maps one or more keys to the specified value. More formally, returns true if and only if this map contains at least one mapping to a value v such that (value==null ? v==null : value.equals(v)).

Parameters:
value - value whose presence in this map is to be tested.
Returns:
true if this map maps one or more keys to the specified value.

count

public int count(java.lang.Object key)
Returns number of values mapped to a given key.

Parameters:
key - the key object
Returns:
the number of objects stored with this key.

elements

public java.util.Enumeration<java.util.List<V>> elements()
Returns the elements in the map

Returns:
an enumeration containung vectors of elements mapped to the keys

enumeration

public java.util.Enumeration<V> enumeration(java.lang.Object key)
Returns all values mapped to a given key, or null

Parameters:
key - the key object
Returns:
the values enumeration

entrySet

public java.util.Set<java.util.Map.Entry<K,java.util.List<V>>> entrySet()
Returns a set view of the mappings contained in this map. Each element in the returned set is a Map.Entry. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa.

Returns:
a set view of the mappings contained in this map.

get

public java.util.List<V> get(java.lang.Object key)
Returns the values to which this map maps the specified key or null if there's no mapping

Parameters:
key - key whose associated value is to be returned.
Returns:
the values to which this map maps the specified key, or null if the map contains no mapping for this key.
See Also:
getEntryList(Object)

getEntries

@Deprecated
public java.util.List<V> getEntries(java.lang.Object key)
Deprecated. since 8.0; use get(Object) instead

See Also:
get(Object)

getEntryList

public java.util.List<V> getEntryList(java.lang.Object key)
returns a list containing all entries, mapped to the given key; if no value is mapped to this key, an empty list is returned

Parameters:
key - the key
Returns:
list of values mapped to the key, or an empty list

hasValue

public boolean hasValue(java.lang.Object key,
                        java.lang.Object value)
Finds out if the object key has a mapping to the object value.

Parameters:
key - The key object.
value - The desired value object.
Returns:
true if the key object contains a mapping to the given value object. In all other cases (also if the key doesn't exist at all), false will be returned.

isEmpty

public boolean isEmpty()
Returns true if this map contains no key-value mappings.

Returns:
true if this map contains no key-value mappings.

keys

@Deprecated
public java.util.Enumeration<K> keys()
Deprecated. since 8.0; use keySet() instead

Return the keys

Returns:
an Enumeration containing the keys.

keySet

public java.util.Set<K> keySet()
Returns a set view of the keys contained in this map. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa.

Returns:
a set view of the keys contained in this map.

put

public void put(K key,
                V value)
Put the mapping of a key and an object to the map. If a mapping (list l) with this key is already present we put the value to end l.

Parameters:
key - a key
value - the value object.

putAll

public void putAll(K key,
                   java.util.Collection<? extends V> values)
Adds all the values to the given key

Parameters:
key - the key to which the values should be added
values - the values

putAll

public void putAll(java.util.Map<? extends K,? extends java.util.List<V>> t)
Copies all of the mappings from the specified map to this map

Parameters:
t - Mappings to be stored in this map.

remove

public java.util.List<V> remove(java.lang.Object key)
Removes the mapping for this key from this map if it is present

Parameters:
key - key whose mapping is to be removed from the map.
Returns:
previous value associated with specified key, or null if there was no mapping for key.

remove

public boolean remove(java.lang.Object key,
                      java.lang.Object value)
Removes the value for a certain key.

Parameters:
key - the key object
value - the value for the key

size

public int size()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

values

public java.util.Collection<java.util.List<V>> values()
Returns a collection view of the values contained in this map. The collection is backed by the map, so changes to the map are reflected in the collection, and vice-versa.

Returns:
a collection view of the values contained in this map.

valueSet

public java.util.Set<V> valueSet()
Return all values in this map as a single flattened set.

Returns:
the set of values in this map (flattened)


@enterprise 8.0.22989 Copyright © 2001-2017 Groiss Informatics GmbH. All Rights Reserved.