See: Description
String.intern()
for other immutable types.
Multimap
that can hold duplicate key-value pairs and that maintains the insertion ordering of values for a given key.
Preconditions
for basic checks.
Map
, but in which each key may be associated with
multiple values.
Set
, but may have duplicate elements.
Table
and whose rows are sorted.
Multimap
that cannot hold duplicate key-value pairs.
Multiset
which maintains the ordering of its elements, according to either their natural order or an explicit
Comparator
.
SetMultimap
whose set of values for a given key are kept sorted; that is, they comprise a
SortedSet
.
Iterator
interface, to make this interface easier to implement for certain types of data sources.
Iterator
interface for sequences whose next element can always be derived from the previous element.
Multimap
that uses an
ArrayList
to store the values for a given key.
Table
implementation backed by a two-dimensional array.
TreeTraverser
for binary trees, providing additional traversals specific to binary trees.
Collection
instances.
Multiset
operations (exceptions where noted).
DiscreteDomain
.
Comparable
domain such as all
Integer
instances.
BiMap
backed by an
EnumMap
instance for keys-to-values, and a
HashMap
instance for values-to-keys.
EnumMap
.
Iterable
API, providing functionality similar to Java 8's powerful
streams library in a slightly different way.
BlockingDeque
which forwards all its method calls to another
BlockingDeque
.
Table
using hash tables.
Multimap
using hash tables.
HashMap
.
BiMap
whose contents will never change, with many other important properties detailed at
ImmutableCollection
.
public static final
bimaps ("constant bimaps").
ClassToInstanceMap
whose contents will never change, with many other important properties detailed at
ImmutableCollection
.
Collection
whose contents will never change, and which offers a few additional guarantees detailed below.
ImmutableCollection
types.
List
whose contents will never change, with many other important properties detailed at
ImmutableCollection
.
public static final
lists ("constant lists").
ListMultimap
whose contents will never change, with many other important properties detailed at
ImmutableCollection
.
ListMultimap
instances, especially
public static final
multimaps ("constant multimaps").
Map
whose contents will never change, with many other important properties detailed at
ImmutableCollection
.
public static final
maps ("constant maps").
Multimap
whose contents will never change, with many other important properties detailed at
ImmutableCollection
.
public static final
multimaps ("constant multimaps").
Multiset
whose contents will never change, with many other important properties detailed at
ImmutableCollection
.
public static final
multisets ("constant multisets").
RangeMap
whose contents will never change, with many other important properties detailed at
ImmutableCollection
.
RangeSet
whose contents will never change, with many other important properties detailed at
ImmutableCollection
.
Set
whose contents will never change, with many other important properties detailed at
ImmutableCollection
.
ImmutableSet
instances.
SetMultimap
whose contents will never change, with many other important properties detailed at
ImmutableCollection
.
SetMultimap
instances, especially
public static final
multimaps ("constant multimaps").
NavigableMap
whose contents will never change, with many other important properties detailed at
ImmutableCollection
.
public static final
maps ("constant maps").
SortedMultiset
whose contents will never change, with many other important properties detailed at
ImmutableCollection
.
public static final
multisets ("constant multisets").
NavigableSet
whose contents will never change, with many other important properties detailed at
ImmutableCollection
.
public static final
sets ("constant sets"), with a given comparator.
Table
whose contents will never change, with many other important properties detailed at
ImmutableCollection
.
public static final
tables ("constant tables").
Iterable
.
Iterator
.
Multimap
that does not allow duplicate key-value entries and that returns collections whose iterators follow the ordering in which the data was added to the multimap.
Multiset
implementation with predictable iteration order.
ListMultimap
that supports deterministic iteration order for both keys and values.
Preconditions
for basic checks.
ConcurrentMap
instances having any combination of the following features: keys or values automatically wrapped in
weak or
soft references notification of evicted (or otherwise removed) entries
MultimapBuilder
that generates
ListMultimap
instances.
MultimapBuilder
in which the key-value collection map implementation has been specified, but the value collection implementation has not.
MultimapBuilder
that generates
SetMultimap
instances.
MultimapBuilder
that generates
SortedSetMultimap
instances.
Multimap
.
Comparable
type; for example, "integers from 1 to 100 inclusive." Note that it is not possible to
iterate over these contained values.
Table
.
Table
whose row keys and column keys are ordered by their natural ordering or by supplied comparators.
Multimap
whose keys and values are ordered by their natural ordering or by supplied comparators.
Comparator
.
RangeMap
based on a
TreeMap
, supporting all optional operations.
T
as nodes in a tree, and provides methods to traverse the trees induced by this traverser.
UnmodifiableIterator.remove()
.
BiMap
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
.
Multiset
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.
Multimap
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
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
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
SetMultimap
for which the
collection values associated with a given key is a
SortedSet
.
Table
Map
, but which indexes its values by an ordered pair of keys, a row key and column key.
ClassToInstanceMap
Map
that associates a raw type with an instance of that type.
List
Set
ImmutableSet
ImmutableSortedSet
ContiguousSet
(see Range
) Map
BiMap
Multiset
Multimap
ImmutableMultimap
ImmutableListMultimap
ImmutableSetMultimap
ArrayListMultimap
HashMultimap
TreeMultimap
LinkedHashMultimap
LinkedListMultimap
Table
ClassToInstanceMap
AbstractIterator
AbstractSequentialIterator
ImmutableCollection
UnmodifiableIterator
UnmodifiableListIterator
Interner
, Interners
Constraint
, Constraints
MapConstraint
, MapConstraints
MapDifference
, SortedMapDifference
MinMaxPriorityQueue
PeekingIterator
ForwardingCollection
ForwardingConcurrentMap
ForwardingIterator
ForwardingList
ForwardingListIterator
ForwardingListMultimap
ForwardingMap
ForwardingMapEntry
ForwardingMultimap
ForwardingMultiset
ForwardingNavigableMap
ForwardingNavigableSet
ForwardingObject
ForwardingQueue
ForwardingSet
ForwardingSetMultimap
ForwardingSortedMap
ForwardingSortedMultiset
ForwardingSortedSet
ForwardingSortedSetMultimap
ForwardingTable