org.eclipse.net4j.util.collection

## Class BidiMap<K,V>

- java.lang.Object
- - java.util.AbstractMap<K,V>
  - - org.eclipse.net4j.util.collection.BidiMap<K,V>

- All Implemented Interfaces:
    Map<K,V>

      public class BidiMap<K,V>
      extends AbstractMap<K,V>

  Since:
    3.6
  Author:
    Eike Stepper

- - ### Nested Class Summary

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

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

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

      `Map.Entry<K,V>`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `BidiMap(Class<K> keyClass, Class<V> valueClass)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clear()`
    `boolean` | `containsKey(Object key)`
    `boolean` | `containsValue(Object value)`
    `Set<Map.Entry<K,V>>` | `entrySet()`
    `V` | `get(Object key)`
    `Class<K>` | `getKeyClass()`
    `Class<V>` | `getValueClass()`
    `Map<V,K>` | `invert()`
    `boolean` | `isEmpty()`
    `V` | `put(K key, V value)`
    `V` | `remove(Object key)`
    `int` | `size()`

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

      `clone, equals, hashCode, keySet, putAll, toString, values`

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

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

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

      `compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll`

- - ### Constructor Detail

    - #### BidiMap

          public BidiMap(Class<K> keyClass,
                         Class<V> valueClass)

  - ### Method Detail

    - #### getKeyClass

          public final Class<K> getKeyClass()

    - #### getValueClass

          public final Class<V> getValueClass()

    - #### invert

          public final Map<V,K> invert()

    - #### put

          public V put(K key,
                       V value)

      Specified by:
        `put` in interface `Map<K,V>`
      Overrides:
        `put` in class `AbstractMap<K,V>`

    - #### remove

          public V remove(Object key)

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

    - #### clear

          public void clear()

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

    - #### size

          public int size()

      Specified by:
        `size` in interface `Map<K,V>`
      Overrides:
        `size` in class `AbstractMap<K,V>`

    - #### isEmpty

          public boolean isEmpty()

      Specified by:
        `isEmpty` in interface `Map<K,V>`
      Overrides:
        `isEmpty` in class `AbstractMap<K,V>`

    - #### containsKey

          public boolean containsKey(Object key)

      Specified by:
        `containsKey` in interface `Map<K,V>`
      Overrides:
        `containsKey` in class `AbstractMap<K,V>`

    - #### containsValue

          public boolean containsValue(Object value)

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

    - #### get

          public V get(Object key)

      Specified by:
        `get` in interface `Map<K,V>`
      Overrides:
        `get` in class `AbstractMap<K,V>`

    - #### entrySet

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

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

Copyright (c) 2014 Eike Stepper (Berlin, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html