gnu.trove.decorator

## Class TDoubleObjectHashMapDecorator<V>

- java.lang.Object
- - java.util.AbstractMap<java.lang.Double,V>
  - - gnu.trove.decorator.TDoubleObjectHashMapDecorator<V>

All Implemented Interfaces:
  java.io.Externalizable, java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.Double,V>

    public class TDoubleObjectHashMapDecorator<V>
    extends java.util.AbstractMap<java.lang.Double,V>
    implements java.util.Map<java.lang.Double,V>, java.io.Externalizable, java.lang.Cloneable

Wrapper class to make a TDoubleObjectHashMap conform to the `java.util.Map` API. This class simply decorates an underlying TDoubleObjectHashMap and translates the Object-based APIs into their Trove primitive analogs.

Note that wrapping and unwrapping primitive values is extremely inefficient. If possible, users of this class should override the appropriate methods in this class and use a table of canonical values.

Created: Mon Sep 23 22:07:40 PDT 2002

Author:
  Eric D. Friedman
See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class java.util.AbstractMap

`java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>`

### Nested classes/interfaces inherited from interface java.util.Map

`java.util.Map.Entry<K,V>`

### Field Summary

Fields
`protected TDoubleObjectHashMap<V>` `_map` the wrapped primitive map

### Constructor Summary

Constructors
Constructor and Description
`TDoubleObjectHashMapDecorator()` FOR EXTERNALIZATION ONLY!!
`TDoubleObjectHashMapDecorator(TDoubleObjectHashMap<V> map)` Creates a wrapper that decorates the specified primitive map.

### Method Summary

Methods
`void` `clear()` Empties the map.
`TDoubleObjectHashMapDecorator` `clone()` Clones the underlying trove collection and returns the clone wrapped in a new decorator instance.
`boolean` `containsKey(java.lang.Object key)` Checks for the present of `key` in the keys of the map.
`boolean` `containsValue(java.lang.Object val)` Checks for the presence of `val` in the values of the map.
`java.util.Set<java.util.Map.Entry<java.lang.Double,V>>` `entrySet()` Returns a Set view on the entries of the map.
`V` `get(java.lang.Object key)` Retrieves the value for `key`
`TDoubleObjectHashMap<V>` `getMap()` Returns a reference to the map wrapped by this decorator.
`boolean` `isEmpty()` Indicates whether map has any entries.
`V` `put(java.lang.Double key, V value)` Inserts a key/value pair into the map.
`void` `putAll(java.util.Map<? extends java.lang.Double,? extends V> map)` Copies the key/value mappings in `map` into this map.
`void` `readExternal(java.io.ObjectInput in)`
`V` `remove(java.lang.Object key)` Deletes a key/value pair from the map.
`int` `size()` Returns the number of entries in the map.
`protected double` `unwrapKey(java.lang.Object key)` Unwraps a key
`protected V` `unwrapValue(V value)` Unwraps a value
`protected java.lang.Double` `wrapKey(double k)` Wraps a key
`protected V` `wrapValue(V o)` Wraps a value
`void` `writeExternal(java.io.ObjectOutput out)`

### Methods inherited from class java.util.AbstractMap

`equals, hashCode, keySet, toString, values`

### Methods inherited from class java.lang.Object

`finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.util.Map

`equals, hashCode, keySet, values`

### Field Detail

#### _map

    protected TDoubleObjectHashMap<V> _map

the wrapped primitive map

### Constructor Detail

#### TDoubleObjectHashMapDecorator

    public TDoubleObjectHashMapDecorator()

FOR EXTERNALIZATION ONLY!!

#### TDoubleObjectHashMapDecorator

    public TDoubleObjectHashMapDecorator(TDoubleObjectHashMap<V> map)

Creates a wrapper that decorates the specified primitive map.

### Method Detail

#### getMap

    public TDoubleObjectHashMap<V> getMap()

Returns a reference to the map wrapped by this decorator.

#### clone

    public TDoubleObjectHashMapDecorator clone()

Clones the underlying trove collection and returns the clone wrapped in a new decorator instance. This is a shallow clone except where primitives are concerned.

Overrides:
  `clone` in class `java.util.AbstractMap<java.lang.Double,V>`
Returns:
  a copy of the receiver

#### put

    public V put(java.lang.Double key,
        V value)

Inserts a key/value pair into the map.

Specified by:
  `put` in interface `java.util.Map<java.lang.Double,V>`
Overrides:
  `put` in class `java.util.AbstractMap<java.lang.Double,V>`
Parameters:
  `key` - an `Object` value
  `value` - an `Object` value
Returns:
  the previous value associated with `key`, or Integer(0) if none was found.

#### get

    public V get(java.lang.Object key)

Retrieves the value for `key`

Specified by:
  `get` in interface `java.util.Map<java.lang.Double,V>`
Overrides:
  `get` in class `java.util.AbstractMap<java.lang.Double,V>`
Parameters:
  `key` - an `Object` value
Returns:
  the value of `key` or null if no such mapping exists.

#### clear

    public void clear()

Empties the map.

Specified by:
  `clear` in interface `java.util.Map<java.lang.Double,V>`
Overrides:
  `clear` in class `java.util.AbstractMap<java.lang.Double,V>`

#### remove

    public V remove(java.lang.Object key)

Deletes a key/value pair from the map.

Specified by:
  `remove` in interface `java.util.Map<java.lang.Double,V>`
Overrides:
  `remove` in class `java.util.AbstractMap<java.lang.Double,V>`
Parameters:
  `key` - an `Object` value
Returns:
  the removed value, or Integer(0) if it was not found in the map

#### entrySet

    public java.util.Set<java.util.Map.Entry<java.lang.Double,V>> entrySet()

Returns a Set view on the entries of the map.

Specified by:
  `entrySet` in interface `java.util.Map<java.lang.Double,V>`
Specified by:
  `entrySet` in class `java.util.AbstractMap<java.lang.Double,V>`
Returns:
  a `Set` value

#### containsValue

    public boolean containsValue(java.lang.Object val)

Checks for the presence of `val` in the values of the map.

Specified by:
  `containsValue` in interface `java.util.Map<java.lang.Double,V>`
Overrides:
  `containsValue` in class `java.util.AbstractMap<java.lang.Double,V>`
Parameters:
  `val` - an `Object` value
Returns:
  a `boolean` value

#### containsKey

    public boolean containsKey(java.lang.Object key)

Checks for the present of `key` in the keys of the map.

Specified by:
  `containsKey` in interface `java.util.Map<java.lang.Double,V>`
Overrides:
  `containsKey` in class `java.util.AbstractMap<java.lang.Double,V>`
Parameters:
  `key` - an `Object` value
Returns:
  a `boolean` value

#### size

    public int size()

Returns the number of entries in the map.

Specified by:
  `size` in interface `java.util.Map<java.lang.Double,V>`
Overrides:
  `size` in class `java.util.AbstractMap<java.lang.Double,V>`
Returns:
  the map's size.

#### isEmpty

    public boolean isEmpty()

Indicates whether map has any entries.

Specified by:
  `isEmpty` in interface `java.util.Map<java.lang.Double,V>`
Overrides:
  `isEmpty` in class `java.util.AbstractMap<java.lang.Double,V>`
Returns:
  true if the map is empty

#### putAll

    public void putAll(java.util.Map<? extends java.lang.Double,? extends V> map)

Copies the key/value mappings in `map` into this map. Note that this will be a deep copy, as storage is by primitive value.

Specified by:
  `putAll` in interface `java.util.Map<java.lang.Double,V>`
Overrides:
  `putAll` in class `java.util.AbstractMap<java.lang.Double,V>`
Parameters:
  `map` - a `Map` value

#### wrapKey

    protected java.lang.Double wrapKey(double k)

Wraps a key

Parameters:
  `k` - key in the underlying map
Returns:
  an Object representation of the key

#### unwrapKey

    protected double unwrapKey(java.lang.Object key)

Unwraps a key

Parameters:
  `key` - wrapped key
Returns:
  an unwrapped representation of the key

#### wrapValue

    protected final V wrapValue(V o)

Wraps a value

Parameters:
  `o` - value in the underlying map
Returns:
  an Object representation of the value

#### unwrapValue

    protected final V unwrapValue(V value)

Unwraps a value

Parameters:
  `value` - wrapped value
Returns:
  an unwrapped representation of the value

#### readExternal

    public void readExternal(java.io.ObjectInput in)
                      throws java.io.IOException,
                             java.lang.ClassNotFoundException

Specified by:
  `readExternal` in interface `java.io.Externalizable`
Throws:
  `java.io.IOException`
  `java.lang.ClassNotFoundException`

#### writeExternal

    public void writeExternal(java.io.ObjectOutput out)
                       throws java.io.IOException

Specified by:
  `writeExternal` in interface `java.io.Externalizable`
Throws:
  `java.io.IOException`