* Copyright (C) 2007 The Guava Authors
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
that guarantees the uniqueness of its values as well as that of its keys. This is sometimes called an "invertible map," since the restriction on values enables it to support an inverse view -- which is another instance of
that may contain duplicate values like a
, yet has order-independent equality like a
. One typical use for a multiset is to represent a histogram.
, but may contain multiple entries with the same key. Some behaviors of
are left unspecified and are provided only by the subtypes mentioned below.
which permits duplicate entries, supports random access of values for a particular key, and has partially order-dependent equality as defined by
ListMultimaptakes its name from the fact that the
ListMultimap.get(java.lang.Object)associated with a given key fulfills the
which has order-independent equality and does not allow duplicate entries; that is, while a key may appear twice in a
SetMultimap, each must map to a different value.
SetMultimaptakes its name from the fact that the collection of values associated with a given key fulfills the
for which the collection values associated with a given key is a
, but which indexes its values by an ordered pair of keys, a row key and column key.
that associates a raw type with an instance of that type.