@CheckReturnValue @ParametersAreNonnullByDefault

Package com.google.common.collect

Collection interfaces and implementations, and other utilities for collections. This package is a part of the open-source Guava library.

The classes in this package include:

Immutable collections

These are collections whose contents will never change. They also offer a few additional guarantees (see ImmutableCollection for details). Implementations are available for both the JDK collection types and the Guava collection types (listed below).

Collection types

Multimap
A new type, which is similar to Map, but may contain multiple entries with the same key. Some behaviors of Multimap are left unspecified and are provided only by the subtypes mentioned below.
ListMultimap
An extension of Multimap which permits duplicate entries, supports random access of values for a particular key, and has partially order-dependent equality as defined by ListMultimap.equals(Object). ListMultimap takes its name from the fact that the collection of values associated with a given key fulfills the List contract.
SetMultimap
An extension of Multimap 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. SetMultimap takes its name from the fact that the collection of values associated with a given key fulfills the Set contract.
SortedSetMultimap
An extension of SetMultimap for which the collection values associated with a given key is a SortedSet.
BiMap
An extension of 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 inverse view -- which is another instance of BiMap.
Table
A new type, which is similar to Map, but which indexes its values by an ordered pair of keys, a row key and column key.
Multiset
An extension of Collection that may contain duplicate values like a List, yet has order-independent equality like a Set. One typical use for a multiset is to represent a histogram.
ClassToInstanceMap
An extension of Map that associates a raw type with an instance of that type.

Ranges

Classes of static utility methods

Abstract implementations

Forwarding collections

We provide implementations of collections that forward all method calls to a delegate collection by default. Subclasses can override one or more methods to implement the decorator pattern. For an example, see ForwardingCollection.

Other