# Package org.apache.commons.collections4.keyvalue

package org.apache.commons.collections4.keyvalue
Implements collection and map related key/value classes. These are usually used in maps, however they can be used as data holders in any collection.

The following key/value designs are included:

- Map Entry - various map entry implementations
- KeyValue - a key and value pair, without map entry semantics
- MultiKey - a holder of multiple keys tied together

- Related Packages
  Package
  Description
  org.apache.commons.collections4
  Interfaces and utilities shared across all packages.
- Classes
  Class
  Description
  AbstractKeyValue<K,V>
  Abstract pair class to assist with creating `KeyValue` and `Map.Entry` implementations.
  AbstractMapEntry<K,V>
  Abstract Pair class to assist with creating correct `Map.Entry` implementations.
  AbstractMapEntryDecorator<K,V>
  Provides a base decorator that allows additional functionality to be added to a `Map.Entry`.
  DefaultKeyValue<K,V>
  A mutable `KeyValue` pair that does not implement `Map.Entry`.
  DefaultMapEntry<K,V>
  A restricted implementation of `Map.Entry` that prevents the `Map.Entry` contract from being broken.
  MultiKey<K>
  A `MultiKey` allows multiple map keys to be merged together.
  TiedMapEntry<K,V>
  A `Map.Entry` tied to a map underneath.
  UnmodifiableMapEntry<K,V>
  A `Map.Entry` that throws UnsupportedOperationException when `setValue` is called.