Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.google.common.collect
Class HashBiMap<K,V>

    java.lang.Object
      com.google.common.collect.ForwardingObject
          com.google.common.collect.ForwardingMap<K,V>
              com.google.common.collect.HashBiMap<K,V>

All Implemented Interfaces:
  BiMap<K,V>, Serializable, Map<K,V>

    @GwtCompatible(emulated=true)
    public final class HashBiMap<K,V>

extends ForwardingMap<K,V>

A `BiMap` backed by two `HashMap` instances. This implementation allows null keys and values. A `HashBiMap` and its inverse are both serializable.

See the Guava User Guide article on `BiMap`.

Since:
  2.0 (imported from Google Collections Library)
Author:
  Mike Bostock
See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class com.google.common.collect.ForwardingMap
`ForwardingMap.StandardEntrySet, ForwardingMap.StandardKeySet, ForwardingMap.StandardValues`

Nested classes/interfaces inherited from interface java.util.Map
`Map.Entry<K,V>`

Method Summary
`void` | `clear()`
`boolean` | `containsValue(Object value)`
`static
`<K,V> HashBiMap<K,V>`
` | `create()` Returns a new, empty `HashBiMap` with the default initial capacity (16).
`static
`<K,V> HashBiMap<K,V>`
` | `create(int expectedSize)` Constructs a new, empty bimap with the specified expected size.
`static
`<K,V> HashBiMap<K,V>`
` | `create(Map<? extends K,? extends V> map)` Constructs a new bimap containing initial values from `map`.
`protected Map<K,V>` | `delegate()` Returns the backing delegate instance that methods are forwarded to.
`Set<Map.Entry<K,V>>` | `entrySet()`
`V` | `forcePut(K key, V value)` An alternate form of `put` that silently removes any existing entry with the value `value` before proceeding with the `BiMap.put(K, V)` operation.
`BiMap<V,K>` | `inverse()` Returns the inverse view of this bimap, which maps each of this bimap's values to its associated key.
`Set<K>` | `keySet()`
`V` | `put(K key, V value)`
`void` | `putAll(Map<? extends K,? extends V> map)`
`V` | `remove(Object key)`
`Set<V>` | `values()`

Methods inherited from class com.google.common.collect.ForwardingMap
`containsKey, equals, get, hashCode, isEmpty, size, standardClear, standardContainsKey, standardContainsValue, standardEquals, standardHashCode, standardIsEmpty, standardPutAll, standardRemove, standardToString`

Methods inherited from class com.google.common.collect.ForwardingObject
`toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.util.Map
`containsKey, equals, get, hashCode, isEmpty, size`

Method Detail

### create

    public static <K,V> HashBiMap<K,V> create()

  Returns a new, empty `HashBiMap` with the default initial capacity (16).

### create

    public static <K,V> HashBiMap<K,V> create(int expectedSize)

  Constructs a new, empty bimap with the specified expected size.

  Parameters:
    `expectedSize` - the expected number of entries
  Throws:
    `IllegalArgumentException` - if the specified expected size is negative

### create

    public static <K,V> HashBiMap<K,V> create(Map<? extends K,? extends V> map)

  Constructs a new bimap containing initial values from `map`. The bimap is created with an initial capacity sufficient to hold the mappings in the specified map.

### put

    public V put(@Nullable
                 K key,
                 @Nullable
                 V value)

  Description copied from interface: `BiMap`

  Specified by:
    `put` in interface `BiMap<K,V>`
  Specified by:
    `put` in interface `Map<K,V>`

### forcePut

    public V forcePut(@Nullable
                      K key,
                      @Nullable
                      V value)

  Description copied from interface: `BiMap`
  An alternate form of `put` that silently removes any existing entry with the value `value` before proceeding with the `BiMap.put(K, V)` operation. If the bimap previously contained the provided key-value mapping, this method has no effect.

  Note that a successful call to this method could cause the size of the bimap to increase by one, stay the same, or even decrease by one.

  Warning: If an existing entry with this value is removed, the key for that entry is discarded and not returned.

  Specified by:
    `forcePut` in interface `BiMap<K,V>`
  Parameters:
    `key` - the key with which the specified value is to be associated
    `value` - the value to be associated with the specified key
  Returns:
    the value which was previously associated with the key, which may be `null`, or `null` if there was no previous entry

### delegate

    protected Map<K,V> delegate()

  Description copied from class: `ForwardingObject`
  Returns the backing delegate instance that methods are forwarded to. Abstract subclasses generally override this method with an abstract method that has a more specific return type, such as `ForwardingSet.delegate()`. Concrete subclasses override this method to supply the instance being decorated.

  Specified by:
    `delegate` in class `ForwardingMap<K,V>`

### containsValue

    public boolean containsValue(Object value)

  Specified by:
    `containsValue` in interface `Map<K,V>`
  Overrides:
    `containsValue` in class `ForwardingMap<K,V>`

### remove

    public V remove(Object key)

  Specified by:
    `remove` in interface `Map<K,V>`
  Overrides:
    `remove` in class `ForwardingMap<K,V>`

### putAll

    public void putAll(Map<? extends K,? extends V> map)

  Description copied from interface: `BiMap`

  Warning: the results of calling this method may vary depending on the iteration order of `map`.

  Specified by:
    `putAll` in interface `BiMap<K,V>`
  Specified by:
    `putAll` in interface `Map<K,V>`
  Overrides:
    `putAll` in class `ForwardingMap<K,V>`

### clear

    public void clear()

  Specified by:
    `clear` in interface `Map<K,V>`
  Overrides:
    `clear` in class `ForwardingMap<K,V>`

### inverse

    public BiMap<V,K> inverse()

  Description copied from interface: `BiMap`
  Returns the inverse view of this bimap, which maps each of this bimap's values to its associated key. The two bimaps are backed by the same data; any changes to one will appear in the other.

  Note:There is no guaranteed correspondence between the iteration order of a bimap and that of its inverse.

  Specified by:
    `inverse` in interface `BiMap<K,V>`
  Returns:
    the inverse view of this bimap

### keySet

    public Set<K> keySet()

  Specified by:
    `keySet` in interface `Map<K,V>`
  Overrides:
    `keySet` in class `ForwardingMap<K,V>`

### values

    public Set<V> values()

  Description copied from interface: `BiMap`

  Because a bimap has unique values, this method returns a `Set`, instead of the `Collection` specified in the `Map` interface.

  Specified by:
    `values` in interface `BiMap<K,V>`
  Specified by:
    `values` in interface `Map<K,V>`
  Overrides:
    `values` in class `ForwardingMap<K,V>`

### entrySet

    public Set<Map.Entry<K,V>> entrySet()

  Specified by:
    `entrySet` in interface `Map<K,V>`
  Overrides:
    `entrySet` in class `ForwardingMap<K,V>`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2010-2012. All Rights Reserved.