# Uses of Interface
org.apache.commons.collections4.BidiMap

Packages that use BidiMap
Package
Description
org.apache.commons.collections4
Interfaces and utilities shared across all packages.
org.apache.commons.collections4.bidimap
Implements the `BidiMap`, `OrderedBidiMap` and `SortedBidiMap` interfaces.

- ## Uses of BidiMap in org.apache.commons.collections4

  Subinterfaces of BidiMap in org.apache.commons.collections4
  Modifier and Type
  Interface
  Description
  `interface`
  `OrderedBidiMap<K,V>`
  Defines a map that allows bidirectional lookup between key and values and retains and provides access to an ordering.
  `interface`
  `SortedBidiMap<K,V>`
  Defines a map that allows bidirectional lookup between key and values and retains both keys and values in sorted order.
  Methods in org.apache.commons.collections4 that return BidiMap
  Modifier and Type
  Method
  Description
  `BidiMap<V,K>`
  BidiMap.`inverseBidiMap()`
  Gets a view of this map where the keys and values are reversed.

- ## Uses of BidiMap in org.apache.commons.collections4.bidimap

  Classes in org.apache.commons.collections4.bidimap that implement BidiMap
  Modifier and Type
  Class
  Description
  `class`
  `AbstractBidiMapDecorator<K,V>`
  Provides a base decorator that enables additional functionality to be added to a BidiMap via decoration.
  `class`
  `AbstractDualBidiMap<K,V>`
  Abstract `BidiMap` implemented using two maps.
  `class`
  `AbstractOrderedBidiMapDecorator<K,V>`
  Provides a base decorator that enables additional functionality to be added to an OrderedBidiMap via decoration.
  `class`
  `AbstractSortedBidiMapDecorator<K,V>`
  Provides a base decorator that enables additional functionality to be added to a SortedBidiMap via decoration.
  `class`
  `DualHashBidiMap<K,V>`
  Implements `BidiMap` with two `HashMap` instances.
  `class`
  `DualLinkedHashBidiMap<K,V>`
  Implements `BidiMap` with two `LinkedHashMap` instances.
  `class`
  `DualTreeBidiMap<K,V>`
  Implements `BidiMap` with two `TreeMap` instances.
  `class`
  `TreeBidiMap<K extends Comparable<K>,V extends Comparable<V>>`
  Red-Black tree-based implementation of BidiMap where all objects added implement the `Comparable` interface.
  `final class`
  `UnmodifiableBidiMap<K,V>`
  Decorates another `BidiMap` to ensure it can't be altered.
  `final class`
  `UnmodifiableOrderedBidiMap<K,V>`
  Decorates another `OrderedBidiMap` to ensure it can't be altered.
  `final class`
  `UnmodifiableSortedBidiMap<K,V>`
  Decorates another `SortedBidiMap` to ensure it can't be altered.
  Methods in org.apache.commons.collections4.bidimap that return BidiMap
  Modifier and Type
  Method
  Description
  `protected abstract BidiMap<V,K>`
  AbstractDualBidiMap.`createBidiMap(Map<V,K> normalMap, Map<K,V> reverseMap, BidiMap<K,V> inverseMap)`
  Creates a new instance of the subclass.
  `protected BidiMap<V,K>`
  DualHashBidiMap.`createBidiMap(Map<V,K> normalMap, Map<K,V> reverseMap, BidiMap<K,V> inverseBidiMap)`
  Creates a new instance of this object.
  `protected BidiMap<V,K>`
  DualLinkedHashBidiMap.`createBidiMap(Map<V,K> normalMap, Map<K,V> reverseMap, BidiMap<K,V> inverseBidiMap)`
  Creates a new instance of this object.
  `protected BidiMap<K,V>`
  AbstractBidiMapDecorator.`decorated()`
  Gets the map being decorated.
  `BidiMap<V,K>`
  AbstractBidiMapDecorator.`inverseBidiMap()`
  `BidiMap<V,K>`
  AbstractDualBidiMap.`inverseBidiMap()`
  `BidiMap<V,K>`
  UnmodifiableBidiMap.`inverseBidiMap()`
  `static <K, V> BidiMap<K,V>`
  UnmodifiableBidiMap.`unmodifiableBidiMap(BidiMap<? extends K,? extends V> map)`
  Factory method to create an unmodifiable map.
  Methods in org.apache.commons.collections4.bidimap with parameters of type BidiMap
  Modifier and Type
  Method
  Description
  `protected abstract BidiMap<V,K>`
  AbstractDualBidiMap.`createBidiMap(Map<V,K> normalMap, Map<K,V> reverseMap, BidiMap<K,V> inverseMap)`
  Creates a new instance of the subclass.
  `protected BidiMap<V,K>`
  DualHashBidiMap.`createBidiMap(Map<V,K> normalMap, Map<K,V> reverseMap, BidiMap<K,V> inverseBidiMap)`
  Creates a new instance of this object.
  `protected BidiMap<V,K>`
  DualLinkedHashBidiMap.`createBidiMap(Map<V,K> normalMap, Map<K,V> reverseMap, BidiMap<K,V> inverseBidiMap)`
  Creates a new instance of this object.
  `protected DualTreeBidiMap<V,K>`
  DualTreeBidiMap.`createBidiMap(Map<V,K> normalMap, Map<K,V> reverseMap, BidiMap<K,V> inverseMap)`
  Creates a new instance of this object.
  `static <K, V> BidiMap<K,V>`
  UnmodifiableBidiMap.`unmodifiableBidiMap(BidiMap<? extends K,? extends V> map)`
  Factory method to create an unmodifiable map.
  Constructors in org.apache.commons.collections4.bidimap with parameters of type BidiMap
  Modifier
  Constructor
  Description
  `protected`
  `AbstractBidiMapDecorator(BidiMap<K,V> map)`
  Constructor that wraps (not copies).
  `protected`
  `AbstractDualBidiMap(Map<K,V> normalMap, Map<V,K> reverseMap, BidiMap<V,K> inverseBidiMap)`
  Constructs a map that decorates the specified maps, used by the subclass `createBidiMap` implementation.
  `protected`
  `DualHashBidiMap(Map<K,V> normalMap, Map<V,K> reverseMap, BidiMap<V,K> inverseBidiMap)`
  Constructs a `HashBidiMap` that decorates the specified maps.
  `protected`
  `DualLinkedHashBidiMap(Map<K,V> normalMap, Map<V,K> reverseMap, BidiMap<V,K> inverseBidiMap)`
  Constructs a `LinkedHashBidiMap` that decorates the specified maps.
  `protected`
  `DualTreeBidiMap(Map<K,V> normalMap, Map<V,K> reverseMap, BidiMap<V,K> inverseBidiMap)`
  Constructs a `DualTreeBidiMap` that decorates the specified maps.