com.google.common.collect.package-info Maven / Gradle / Ivy
/*
* 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 library.
*
* 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}
*
*
* - {@link com.google.common.collect.ImmutableList}
*
*
* of {@link java.util.Set}
*
*
* - {@link com.google.common.collect.ImmutableSet}
*
- {@link com.google.common.collect.ImmutableSortedSet}
*
- {@link com.google.common.collect.ContiguousSet} (see {@code Range})
*
*
* of {@link java.util.Map}
*
*
* - {@link com.google.common.collect.ImmutableMap}
*
- {@link com.google.common.collect.ImmutableSortedMap}
*
- {@link com.google.common.collect.MapMaker}
*
*
* of {@link com.google.common.collect.BiMap}
*
*
* - {@link com.google.common.collect.ImmutableBiMap}
*
- {@link com.google.common.collect.HashBiMap}
*
- {@link com.google.common.collect.EnumBiMap}
*
- {@link com.google.common.collect.EnumHashBiMap}
*
*
* of {@link com.google.common.collect.Multiset}
*
*
* - {@link com.google.common.collect.ImmutableMultiset}
*
- {@link com.google.common.collect.ImmutableSortedMultiset}
*
- {@link com.google.common.collect.HashMultiset}
*
- {@link com.google.common.collect.LinkedHashMultiset}
*
- {@link com.google.common.collect.TreeMultiset}
*
- {@link com.google.common.collect.EnumMultiset}
*
- {@link com.google.common.collect.ConcurrentHashMultiset}
*
*
* of {@link com.google.common.collect.Multimap}
*
*
* - {@link com.google.common.collect.ImmutableMultimap}
*
- {@link com.google.common.collect.ImmutableListMultimap}
*
- {@link com.google.common.collect.ImmutableSetMultimap}
*
- {@link com.google.common.collect.ArrayListMultimap}
*
- {@link com.google.common.collect.HashMultimap}
*
- {@link com.google.common.collect.TreeMultimap}
*
- {@link com.google.common.collect.LinkedHashMultimap}
*
- {@link com.google.common.collect.LinkedListMultimap}
*
*
* of {@link com.google.common.collect.Table}
*
*
* - {@link com.google.common.collect.ImmutableTable}
*
- {@link com.google.common.collect.ArrayTable}
*
- {@link com.google.common.collect.HashBasedTable}
*
- {@link com.google.common.collect.TreeBasedTable}
*
*
* of {@link com.google.common.collect.ClassToInstanceMap}
*
*
* - {@link com.google.common.collect.ImmutableClassToInstanceMap}
*
- {@link com.google.common.collect.MutableClassToInstanceMap}
*
*
* Classes of static utility methods
*
*
* - {@link com.google.common.collect.Collections2}
*
- {@link com.google.common.collect.Iterators}
*
- {@link com.google.common.collect.Iterables}
*
- {@link com.google.common.collect.Lists}
*
- {@link com.google.common.collect.Maps}
*
- {@link com.google.common.collect.Queues}
*
- {@link com.google.common.collect.Sets}
*
- {@link com.google.common.collect.Multisets}
*
- {@link com.google.common.collect.Multimaps}
*
- {@link com.google.common.collect.Tables}
*
- {@link com.google.common.collect.ObjectArrays}
*
*
* Comparison
*
*
* - {@link com.google.common.collect.Ordering}
*
- {@link com.google.common.collect.ComparisonChain}
*
*
* Abstract implementations
*
*
* - {@link com.google.common.collect.AbstractIterator}
*
- {@link com.google.common.collect.AbstractSequentialIterator}
*
- {@link com.google.common.collect.ImmutableCollection}
*
- {@link com.google.common.collect.UnmodifiableIterator}
*
- {@link com.google.common.collect.UnmodifiableListIterator}
*
*
* Ranges
*
*
* - {@link com.google.common.collect.Range}
*
- {@link com.google.common.collect.RangeMap}
*
- {@link com.google.common.collect.DiscreteDomain}
*
- {@link com.google.common.collect.ContiguousSet}
*
*
* Other
*
*
* - {@link com.google.common.collect.Interner}, {@link com.google.common.collect.Interners}
*
- {@link com.google.common.collect.MapDifference}, {@link
* com.google.common.collect.SortedMapDifference}
*
- {@link com.google.common.collect.MinMaxPriorityQueue}
*
- {@link com.google.common.collect.PeekingIterator}
*
*
* Forwarding collections
*
*
* - {@link com.google.common.collect.ForwardingCollection}
*
- {@link com.google.common.collect.ForwardingConcurrentMap}
*
- {@link com.google.common.collect.ForwardingIterator}
*
- {@link com.google.common.collect.ForwardingList}
*
- {@link com.google.common.collect.ForwardingListIterator}
*
- {@link com.google.common.collect.ForwardingListMultimap}
*
- {@link com.google.common.collect.ForwardingMap}
*
- {@link com.google.common.collect.ForwardingMapEntry}
*
- {@link com.google.common.collect.ForwardingMultimap}
*
- {@link com.google.common.collect.ForwardingMultiset}
*
- {@link com.google.common.collect.ForwardingNavigableMap}
*
- {@link com.google.common.collect.ForwardingNavigableSet}
*
- {@link com.google.common.collect.ForwardingObject}
*
- {@link com.google.common.collect.ForwardingQueue}
*
- {@link com.google.common.collect.ForwardingSet}
*
- {@link com.google.common.collect.ForwardingSetMultimap}
*
- {@link com.google.common.collect.ForwardingSortedMap}
*
- {@link com.google.common.collect.ForwardingSortedMultiset}
*
- {@link com.google.common.collect.ForwardingSortedSet}
*
- {@link com.google.common.collect.ForwardingSortedSetMultimap}
*
- {@link com.google.common.collect.ForwardingTable}
*
*/
@CheckReturnValue
@ParametersAreNonnullByDefault
package com.google.common.collect;
import com.google.errorprone.annotations.CheckReturnValue;
import jakarta.annotation.ParametersAreNonnullByDefault;