/* * 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 * * http://www.apache.org/licenses/LICENSE-2.0 * * 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. */ /** * This package contains generic collection interfaces and implementations, and * other utilities for working with collections. It is a part of the open-source * Guava libraries. * *

Collection Types

* *
*
{@link com.google.common.collect.BiMap} *
An extension of {@link java.util.Map} 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 {@linkplain com.google.common.collect.BiMap#inverse inverse view} -- * which is another instance of {@code BiMap}. * *
{@link com.google.common.collect.Multiset} *
An extension of {@link java.util.Collection} that may contain duplicate * values like a {@link java.util.List}, yet has order-independent equality * like a {@link java.util.Set}. One typical use for a multiset is to * represent a histogram. * *
{@link com.google.common.collect.Multimap} *
A new type, which is similar to {@link java.util.Map}, but may contain * multiple entries with the same key. Some behaviors of * {@link com.google.common.collect.Multimap} are left unspecified and are * provided only by the subtypes mentioned below. * *
{@link com.google.common.collect.ListMultimap} *
An extension of {@link com.google.common.collect.Multimap} which permits * duplicate entries, supports random access of values for a particular key, * and has partially order-dependent equality as defined by * {@link com.google.common.collect.ListMultimap#equals(Object)}. {@code * ListMultimap} takes its name from the fact that the {@linkplain * com.google.common.collect.ListMultimap#get collection of values} * associated with a given key fulfills the {@link java.util.List} contract. * *
{@link com.google.common.collect.SetMultimap} *
An extension of {@link com.google.common.collect.Multimap} which has * order-independent equality and does not allow duplicate entries; that is, * while a key may appear twice in a {@code SetMultimap}, each must map to a * different value. {@code SetMultimap} takes its name from the fact that * the {@linkplain com.google.common.collect.SetMultimap#get collection of * values} associated with a given key fulfills the {@link java.util.Set} * contract. * *
{@link com.google.common.collect.SortedSetMultimap} *
An extension of {@link com.google.common.collect.SetMultimap} for which * the {@linkplain com.google.common.collect.SortedSetMultimap#get * collection values} associated with a given key is a * {@link java.util.SortedSet}. * *
{@link com.google.common.collect.Table} *
A new type, which is similar to {@link java.util.Map}, but which indexes * its values by an ordered pair of keys, a row key and column key. * *
{@link com.google.common.collect.ClassToInstanceMap} *
An extension of {@link java.util.Map} that associates a raw type with an * instance of that type. *
* *

Collection Implementations

* *

of {@link java.util.List}

* * *

of {@link java.util.Set}

* * *

of {@link java.util.Map}

* * *

of {@link com.google.common.collect.BiMap}

* * *

of {@link com.google.common.collect.Multiset}

* * *

of {@link com.google.common.collect.Multimap}

* * *

of {@link com.google.common.collect.Table}

* * *

of {@link com.google.common.collect.ClassToInstanceMap}

* * *

Classes of static utility methods

* * * *

Comparison

* * * *

Abstract implementations

* * * *

Ranges

* * * *

Other

* * * *

Forwarding collections

* * */ @javax.annotation.ParametersAreNonnullByDefault package com.google.common.collect;