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

## org.modeshape.common.collection
Interface Multimap<K,V>

Type Parameters:
  `K` - the key type
  `V` - the value type

All Known Subinterfaces:
  ListMultimap<K,V>

All Known Implementing Classes:
  AbstractMultimap, ArrayListMultimap, HashMultimap, LinkedHashMultimap, LinkedListMultimap

    public interface Multimap<K,V>

A collection similar to `Map`, but which may associate multiple values with any single key.

Some implementation may not allow duplicate key-value pairs. In such implementations, calling #pu

Method Summary
`Map<K,Collection<V>>` | `asMap()` Return a map view that associates each key with the corresponding values in the multimap.
`void` | `clear()` Remove all key-value pairs from this multimap.
`boolean` | `containsEntry(Object key, Object value)` Determine whether this multimap contains the supplied key-value pair.
`boolean` | `containsKey(K key)` Determine whether this multimap associates any values with the supplied key.
`boolean` | `containsValue(Object value)` Determine whether this multimap associates at least one key with the supplied value.
`Collection<Map.Entry<K,V>>` | `entries()` Return a collection of all key-value pairs.
`Collection<V>` | `get(K key)` Get the collection of values that are associated with the supplied key.
`boolean` | `isEmpty()`
`Set<K>` | `keySet()` Return the set of keys in this multimap.
`boolean` | `put(K key, V value)` Associate the supplied value with the given key, returning true if the size of this multimap was increased.
`boolean` | `remove(K key, V value)` Remove the supplied key-value pair from this multi-map.
`Collection<V>` | `removeAll(K key)` Remove all of the key-value pairs that use the supplied key, returning the collection of values.
`int` | `size()` Return the number of key-value pairs in this multimap.
`Collection<V>` | `values()` Return a collection of all values in this multimap.

Method Detail

### size

    int size()

  Return the number of key-value pairs in this multimap.

  Returns:
    the size of this multimap.

### isEmpty

    boolean isEmpty()

### put

    boolean put(K key,
                V value)

  Associate the supplied value with the given key, returning true if the size of this multimap was increased.

  Some implementations allow duplicate key-value pairs, and in these cases this method will always increase the size of the multimap and will thus always return true. Other implementations will not allow duplicate key-value pairs, and may return false if the multimap already contains the supplied key-value pair.

  Parameters:
    `key` - the key
    `value` - the value
  Returns:
    `true` if the size of this multimap was increased as a result of this call, or `false` if the multimap already contained the key-value pair and doesn't allow duplicates

### remove

    boolean remove(K key,
                   V value)

  Remove the supplied key-value pair from this multi-map.

  Parameters:
    `key` - the key
    `value` - the value
  Returns:
    `true` if the size of this multimap was decreased as a result of this call, or `false` if the multimap did not contain the key-value pair

### removeAll

    Collection<V> removeAll(K key)

  Remove all of the key-value pairs that use the supplied key, returning the collection of values. The resulting collection may be modifiable, but changing it will have no effect on this multimap.

  Parameters:
    `key` - the key
  Returns:
    the collection of values that were removed, or an empty collection if there were none; never null

### get

    Collection<V> get(K key)

  Get the collection of values that are associated with the supplied key.

  Changes to the returned collection will update the values that this multimap associates with the key.

  Parameters:
    `key` - the key
  Returns:
    the collection of values, or an empty collection if the supplied key was not associated with any values

### containsKey

    boolean containsKey(K key)

  Determine whether this multimap associates any values with the supplied key.

  Parameters:
    `key` - the key
  Returns:
    `true` if there is at least one value associated with the supplied key, or `false` otherwise

### containsValue

    boolean containsValue(Object value)

  Determine whether this multimap associates at least one key with the supplied value.

  Parameters:
    `value` - the value
  Returns:
    `true` if there is at least one key associated with the supplied value, or `false` otherwise

### containsEntry

    boolean containsEntry(Object key,
                          Object value)

  Determine whether this multimap contains the supplied key-value pair.

  Parameters:
    `key` - the key
    `value` - the value
  Returns:
    `true` if this multimap contains an entry with the supplied key and value, or `false` otherwise

### keySet

    Set<K> keySet()

  Return the set of keys in this multimap.

  Returns:
    the set of keys; never null but possible empty

### values

    Collection<V> values()

  Return a collection of all values in this multimap. Changes to the returned collection will update the underlying multimap, and vice versa.

  Returns:
    the collection of values, which may include the same value multiple times if it occurs in multiple mappings; never null but possibly empty

### entries

    Collection<Map.Entry<K,V>> entries()

  Return a collection of all key-value pairs. Changes to the returned collection will update the underlying multimap, and vice versa. The entries collection does not support the `add` or `addAll` operations.

  Returns:
    the collection of map entries consisting of key-value pairs; never null but possibly empty

### asMap

    Map<K,Collection<V>> asMap()

  Return a map view that associates each key with the corresponding values in the multimap. Changes to the returned map, such as element removal, will update the underlying multimap. The map does not support `setValue()` on its entries, `put`, or `putAll`.

  The collections returned by `asMap().get(Object)` have the same behavior as those returned by `get(K)`.

  Returns:
    a map view from a key to its collection of values

### clear

    void clear()

  Remove all key-value pairs from this multimap.

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 © 2008-2011 JBoss, a division of Red Hat. All Rights Reserved.