com.alee.utils.collection
Class DoubleMap<K,V>

java.lang.Object
  extended by com.alee.utils.collection.DoubleMap<K,V>
All Implemented Interfaces:
java.util.Map<K,V>

public class DoubleMap<K,V>
extends java.lang.Object
implements java.util.Map<K,V>

Author:
Mikle Garin

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
java.util.Map.Entry<K,V>
 
Field Summary
protected  java.util.Map<V,K> keysByValues
          Keys by values map.
protected  java.util.Map<K,V> valuesByKeys
          Values by keys map.
 
Constructor Summary
DoubleMap()
           
DoubleMap(int initialCapacity)
           
DoubleMap(java.util.Map<K,V> map)
           
 
Method Summary
 void clear()
           
 boolean containsKey(java.lang.Object key)
           
 boolean containsValue(java.lang.Object value)
           
 java.util.Set<java.util.Map.Entry<K,V>> entrySet()
           
 V get(java.lang.Object key)
           
 K getKey(V value)
           
 java.util.Map<V,K> getKeysByValues()
           
 V getValue(K key)
           
 java.util.Map<K,V> getValuesByKeys()
           
 boolean isEmpty()
           
 java.util.Set<K> keySet()
           
 V put(K key, V value)
           
 void putAll(java.util.Map<? extends K,? extends V> m)
           
 V remove(java.lang.Object key)
           
 V removeByKey(K key)
           
 K removeByValue(V value)
           
 int size()
           
 java.util.Collection<V> values()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Field Detail

valuesByKeys

protected java.util.Map<K,V> valuesByKeys
Values by keys map.


keysByValues

protected java.util.Map<V,K> keysByValues
Keys by values map.

Constructor Detail

DoubleMap

public DoubleMap()

DoubleMap

public DoubleMap(int initialCapacity)

DoubleMap

public DoubleMap(java.util.Map<K,V> map)
Method Detail

getValue

public V getValue(K key)

getKey

public K getKey(V value)

removeByKey

public V removeByKey(K key)

removeByValue

public K removeByValue(V value)

put

public V put(K key,
             V value)
Specified by:
put in interface java.util.Map<K,V>

size

public int size()
Specified by:
size in interface java.util.Map<K,V>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Map<K,V>

containsKey

public boolean containsKey(java.lang.Object key)
Specified by:
containsKey in interface java.util.Map<K,V>

containsValue

public boolean containsValue(java.lang.Object value)
Specified by:
containsValue in interface java.util.Map<K,V>

get

public V get(java.lang.Object key)
Specified by:
get in interface java.util.Map<K,V>

remove

public V remove(java.lang.Object key)
Specified by:
remove in interface java.util.Map<K,V>

putAll

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

clear

public void clear()
Specified by:
clear in interface java.util.Map<K,V>

keySet

public java.util.Set<K> keySet()
Specified by:
keySet in interface java.util.Map<K,V>

values

public java.util.Collection<V> values()
Specified by:
values in interface java.util.Map<K,V>

entrySet

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

getValuesByKeys

public java.util.Map<K,V> getValuesByKeys()

getKeysByValues

public java.util.Map<V,K> getKeysByValues()