javax.ws.rs.core

## Interface MultivaluedMap<K,V>

- Type Parameters:
    `K` - the type of keys maintained by this map
    `V` - the type of mapped values
  All Superinterfaces:
    Map<K,List<V>>
  All Known Implementing Classes:
    AbstractMultivaluedMap, CaseInsensitiveMap, DelegatingMultivaluedMap, Headers, HttpServletResponseHeaders, MultivaluedHashMap, MultivaluedMapImpl, MultivaluedTreeMap, PrefixedMultivaluedMap, SkeletonKeyScope

      public interface MultivaluedMap<K,V>
      extends Map<K,List<V>>

  A map of key-values pairs. Each key can have zero or more values.
  Since:
    1.0
  Author:
    Paul Sandoz, Marc Hadley, Marek Potociar

- - ### Nested Class Summary

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

      `Map.Entry<K,V>`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(K key, V value)` Add a value to the current list of values for the supplied key.
    `void` | `addAll(K key, List<V> valueList)` Add all the values from the supplied value list to the current list of values for the supplied key.
    `void` | `addAll(K key, V... newValues)` Add multiple values to the current list of values for the supplied key.
    `void` | `addFirst(K key, V value)` Add a value to the first position in the current list of values for the supplied key.
    `boolean` | `equalsIgnoreValueOrder(MultivaluedMap<K,V> otherMap)` Compare the specified map with this map for equality modulo the order of values for each key.
    `V` | `getFirst(K key)` A shortcut to get the first value of the supplied key.
    `void` | `putSingle(K key, V value)` Set the key's value to be a one item list consisting of the supplied value.

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

      `clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values`

- - ### Method Detail

    - #### putSingle

          void putSingle(K key,
                       V value)

      Set the key's value to be a one item list consisting of the supplied value. Any existing values will be replaced.
      Parameters:
        `key` - the key
        `value` - the single value of the key

    - #### add

          void add(K key,
                 V value)

      Add a value to the current list of values for the supplied key.
      Parameters:
        `key` - the key
        `value` - the value to be added.

    - #### getFirst

          V getFirst(K key)

      A shortcut to get the first value of the supplied key.
      Parameters:
        `key` - the key
      Returns:
        the first value for the specified key or null if the key is not in the map.

    - #### addAll

          void addAll(K key,
                    V... newValues)

      Add multiple values to the current list of values for the supplied key. If the supplied array of new values is empty, method returns immediately. Method throws a `NullPointerException` if the supplied array of values is `null`.
      Parameters:
        `key` - the key.
        `newValues` - the values to be added.
      Throws:
        `NullPointerException` - if the supplied array of new values is `null`.
      Since:
        2.0

    - #### addAll

          void addAll(K key,
                    List<V> valueList)

      Add all the values from the supplied value list to the current list of values for the supplied key. If the supplied value list is empty, method returns immediately. Method throws a `NullPointerException` if the supplied array of values is `null`.
      Parameters:
        `key` - the key.
        `valueList` - the list of values to be added.
      Throws:
        `NullPointerException` - if the supplied value list is `null`.
      Since:
        2.0

    - #### addFirst

          void addFirst(K key,
                      V value)

      Add a value to the first position in the current list of values for the supplied key.
      Parameters:
        `key` - the key
        `value` - the value to be added.
      Since:
        2.0

    - #### equalsIgnoreValueOrder

          boolean equalsIgnoreValueOrder(MultivaluedMap<K,V> otherMap)

      Compare the specified map with this map for equality modulo the order of values for each key. Specifically, the values associated with each key are compared as if they were ordered lists.
      Parameters:
        `otherMap` - map to be compared to this one.
      Returns:
        true if the maps are equal modulo value ordering.
      Since:
        2.0

Copyright © 2014. All Rights Reserved.