org.elasticsearch.util.collect.package-info Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of elasticsearch Show documentation
Show all versions of elasticsearch Show documentation
Elasticsearch subproject :server
/*
* Copyright (C) 2007 Google Inc.
*
* 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.
*
* Collection Types
*
*
* - {@link org.elasticsearch.util.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 org.elasticsearch.util.collect.Multimap} are left unspecified and are
* provided only by the subtypes mentioned below.
*
*
- {@link org.elasticsearch.util.collect.SetMultimap}
*
- An extension of {@link org.elasticsearch.util.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 org.elasticsearch.util.collect.SetMultimap#get collection of
* values} associated with a given key fulfills the {@link java.util.Set}
* contract.
*
*
- {@link org.elasticsearch.util.collect.ListMultimap}
*
- An extension of {@link org.elasticsearch.util.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 org.elasticsearch.util.collect.ListMultimap#equals(Object)}. {@code
* ListMultimap} takes its name from the fact that the {@linkplain
* org.elasticsearch.util.collect.ListMultimap#get collection of values}
* associated with a given key fulfills the {@link java.util.List} contract.
*
*
- {@link org.elasticsearch.util.collect.SortedSetMultimap}
*
- An extension of {@link org.elasticsearch.util.collect.SetMultimap} for which
* the {@linkplain org.elasticsearch.util.collect.SortedSetMultimap#get
* collection values} associated with a given key is a
* {@link java.util.SortedSet}.
*
*
- {@link org.elasticsearch.util.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 org.elasticsearch.util.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 org.elasticsearch.util.collect.BiMap#inverse inverse view} --
* which is another instance of {@code BiMap}.
*
*
- {@link org.elasticsearch.util.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 org.elasticsearch.util.collect.ImmutableList}
*
*
*
of {@link java.util.Set}
*
* - {@link org.elasticsearch.util.collect.ImmutableSet}
*
*
*
of {@link java.util.SortedSet}
*
* - {@link org.elasticsearch.util.collect.ImmutableSortedSet}
*
*
* of {@link java.util.Map}
*
* - {@link org.elasticsearch.util.collect.ImmutableMap}
*
- {@link org.elasticsearch.util.collect.MapMaker} (produced by)
*
*
*
of {@link java.util.SortedMap}
*
* - {@link org.elasticsearch.util.collect.ImmutableSortedMap}
*
*
* of {@link org.elasticsearch.util.collect.Multimap}
*
* - {@link org.elasticsearch.util.collect.ImmutableMultimap}
*
- {@link org.elasticsearch.util.collect.Multimaps#newMultimap}
*
*
* of {@link org.elasticsearch.util.collect.ListMultimap}
*
* - {@link org.elasticsearch.util.collect.ImmutableListMultimap}
*
- {@link org.elasticsearch.util.collect.ArrayListMultimap}
*
- {@link org.elasticsearch.util.collect.LinkedListMultimap}
*
- {@link org.elasticsearch.util.collect.Multimaps#newListMultimap}
*
*
* of {@link org.elasticsearch.util.collect.SetMultimap}
*
* - {@link org.elasticsearch.util.collect.ImmutableSetMultimap}
*
- {@link org.elasticsearch.util.collect.HashMultimap}
*
- {@link org.elasticsearch.util.collect.LinkedHashMultimap}
*
- {@link org.elasticsearch.util.collect.TreeMultimap}
*
- {@link org.elasticsearch.util.collect.Multimaps#newSetMultimap}
*
- {@link org.elasticsearch.util.collect.Multimaps#newSortedSetMultimap}
*
*
* of {@link org.elasticsearch.util.collect.Multiset}
*
* - {@link org.elasticsearch.util.collect.ImmutableMultiset}
*
- {@link org.elasticsearch.util.collect.ConcurrentHashMultiset}
*
- {@link org.elasticsearch.util.collect.HashMultiset}
*
- {@link org.elasticsearch.util.collect.LinkedHashMultiset}
*
- {@link org.elasticsearch.util.collect.TreeMultiset}
*
- {@link org.elasticsearch.util.collect.EnumMultiset}
*
*
* of {@link org.elasticsearch.util.collect.BiMap}
*
* - {@link org.elasticsearch.util.collect.HashBiMap}
*
- {@link org.elasticsearch.util.collect.EnumBiMap}
*
- {@link org.elasticsearch.util.collect.EnumHashBiMap}
*
*
* of {@link org.elasticsearch.util.collect.ClassToInstanceMap}
*
* - {@link org.elasticsearch.util.collect.ImmutableClassToInstanceMap}
*
- {@link org.elasticsearch.util.collect.MutableClassToInstanceMap}
*
*
* Skeletal implementations
*
* - {@link org.elasticsearch.util.collect.AbstractIterator}
*
- {@link org.elasticsearch.util.collect.UnmodifiableIterator}
*
*
* Utilities
*
*
* - {@link org.elasticsearch.util.collect.Collections2}
*
- {@link org.elasticsearch.util.collect.Iterators}
*
- {@link org.elasticsearch.util.collect.Iterables}
*
- {@link org.elasticsearch.util.collect.Lists}
*
- {@link org.elasticsearch.util.collect.Maps}
*
- {@link org.elasticsearch.util.collect.Ordering}
*
- {@link org.elasticsearch.util.collect.Sets}
*
- {@link org.elasticsearch.util.collect.Multisets}
*
- {@link org.elasticsearch.util.collect.Multimaps}
*
- {@link org.elasticsearch.util.collect.ObjectArrays}
*
* Forwarding collections
*
*
* - {@link org.elasticsearch.util.collect.ForwardingCollection }
*
- {@link org.elasticsearch.util.collect.ForwardingConcurrentMap }
*
- {@link org.elasticsearch.util.collect.ForwardingIterator }
*
- {@link org.elasticsearch.util.collect.ForwardingList }
*
- {@link org.elasticsearch.util.collect.ForwardingListIterator }
*
- {@link org.elasticsearch.util.collect.ForwardingMap }
*
- {@link org.elasticsearch.util.collect.ForwardingMapEntry }
*
- {@link org.elasticsearch.util.collect.ForwardingMultimap }
*
- {@link org.elasticsearch.util.collect.ForwardingMultiset }
*
- {@link org.elasticsearch.util.collect.ForwardingObject }
*
- {@link org.elasticsearch.util.collect.ForwardingQueue }
*
- {@link org.elasticsearch.util.collect.ForwardingSet }
*
- {@link org.elasticsearch.util.collect.ForwardingSortedMap }
*
- {@link org.elasticsearch.util.collect.ForwardingSortedSet }
*
*/
package org.elasticsearch.util.collect;