Class ContiguousSet<C extends java.lang.Comparable>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- com.google.common.collect.ImmutableCollection<E>
-
- com.google.common.collect.ImmutableSet<E>
-
- com.google.common.collect.ImmutableSortedSet<C>
-
- com.google.common.collect.ContiguousSet<C>
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Iterable<C>
,java.util.Collection<C>
,java.util.NavigableSet<C>
,java.util.Set<C>
,java.util.SortedSet<C>
@Beta @GwtCompatible(emulated=true) public abstract class ContiguousSet<C extends java.lang.Comparable> extends ImmutableSortedSet<C>
A sorted set of contiguous values in a givenDiscreteDomain
.Warning: Be extremely careful what you do with conceptually large instances (such as
ContiguousSet.create(Range.greaterThan(0), DiscreteDomain.integers()
). Certain operations on such a set can be performed efficiently, but others (such asSet.hashCode()
orCollections.frequency(java.util.Collection<?>, java.lang.Object)
) can cause major performance problems.- Since:
- 10.0
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.google.common.collect.ImmutableSortedSet
ImmutableSortedSet.Builder<E>
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static <E> ImmutableSortedSet.Builder<E>
builder()
static <E> ImmutableSortedSet<E>
copyOf(E[] elements)
Deprecated.Pass parameters of typeComparable
to useImmutableSortedSet.copyOf(Comparable[])
.static <C extends java.lang.Comparable>
ContiguousSet<C>create(Range<C> range, DiscreteDomain<C> domain)
Returns aContiguousSet
containing the same values in the given domain contained by the range.ContiguousSet<C>
headSet(C toElement)
ContiguousSet<C>
headSet(C toElement, boolean inclusive)
abstract ContiguousSet<C>
intersection(ContiguousSet<C> other)
Returns the set of values that are contained in both this set and the other.static <E> ImmutableSortedSet<E>
of(E element)
Deprecated.Pass a parameter of typeComparable
to useImmutableSortedSet.of(Comparable)
.static <E> ImmutableSortedSet<E>
of(E e1, E e2)
Deprecated.Pass the parameters of typeComparable
to useImmutableSortedSet.of(Comparable, Comparable)
.static <E> ImmutableSortedSet<E>
of(E e1, E e2, E e3)
Deprecated.Pass the parameters of typeComparable
to useImmutableSortedSet.of(Comparable, Comparable, Comparable)
.static <E> ImmutableSortedSet<E>
of(E e1, E e2, E e3, E e4)
Deprecated.Pass the parameters of typeComparable
to useImmutableSortedSet.of(Comparable, Comparable, Comparable, Comparable)
.static <E> ImmutableSortedSet<E>
of(E e1, E e2, E e3, E e4, E e5)
Deprecated.Pass the parameters of typeComparable
to useImmutableSortedSet.of( Comparable, Comparable, Comparable, Comparable, Comparable)
.static <E> ImmutableSortedSet<E>
of(E e1, E e2, E e3, E e4, E e5, E e6, E... remaining)
Deprecated.Pass the parameters of typeComparable
to useImmutableSortedSet.of(Comparable, Comparable, Comparable, Comparable, Comparable, Comparable, Comparable...)
.abstract Range<C>
range()
Returns a range, closed on both ends, whose endpoints are the minimum and maximum values contained in this set.abstract Range<C>
range(BoundType lowerBoundType, BoundType upperBoundType)
Returns the minimal range with the given boundary types for which all values in this set are contained within the range.ContiguousSet<C>
subSet(C fromElement, boolean fromInclusive, C toElement, boolean toInclusive)
ContiguousSet<C>
subSet(C fromElement, C toElement)
ContiguousSet<C>
tailSet(C fromElement)
ContiguousSet<C>
tailSet(C fromElement, boolean inclusive)
java.lang.String
toString()
Returns a short-hand representation of the contents such as"[1..100]"
.-
Methods inherited from class com.google.common.collect.ImmutableSortedSet
ceiling, comparator, copyOf, copyOf, copyOf, copyOf, copyOf, copyOf, copyOf, copyOfSorted, descendingIterator, descendingSet, first, floor, higher, iterator, last, lower, naturalOrder, of, of, of, of, of, of, of, orderedBy, pollFirst, pollLast, reverseOrder
-
Methods inherited from class com.google.common.collect.ImmutableSet
equals, hashCode
-
Methods inherited from class com.google.common.collect.ImmutableCollection
add, addAll, asList, clear, contains, remove, removeAll, retainAll, toArray, toArray
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Method Detail
-
create
public static <C extends java.lang.Comparable> ContiguousSet<C> create(Range<C> range, DiscreteDomain<C> domain)
Returns aContiguousSet
containing the same values in the given domain contained by the range.- Throws:
java.lang.IllegalArgumentException
- if neither range nor the domain has a lower bound, or if neither has an upper bound- Since:
- 13.0
-
headSet
public ContiguousSet<C> headSet(C toElement)
Description copied from class:ImmutableSortedSet
This method returns a serializable
ImmutableSortedSet
.The
SortedSet.headSet(E)
documentation states that a subset of a subset throws anIllegalArgumentException
if passed atoElement
greater than an earliertoElement
. However, this method doesn't throw an exception in that situation, but instead keeps the originaltoElement
.- Specified by:
headSet
in interfacejava.util.NavigableSet<C extends java.lang.Comparable>
- Specified by:
headSet
in interfacejava.util.SortedSet<C extends java.lang.Comparable>
- Overrides:
headSet
in classImmutableSortedSet<C extends java.lang.Comparable>
-
headSet
@GwtIncompatible("NavigableSet") public ContiguousSet<C> headSet(C toElement, boolean inclusive)
- Specified by:
headSet
in interfacejava.util.NavigableSet<C extends java.lang.Comparable>
- Overrides:
headSet
in classImmutableSortedSet<C extends java.lang.Comparable>
- Since:
- 12.0
-
subSet
public ContiguousSet<C> subSet(C fromElement, C toElement)
Description copied from class:ImmutableSortedSet
This method returns a serializable
ImmutableSortedSet
.The
SortedSet.subSet(E, E)
documentation states that a subset of a subset throws anIllegalArgumentException
if passed afromElement
smaller than an earlierfromElement
. However, this method doesn't throw an exception in that situation, but instead keeps the originalfromElement
. Similarly, this method keeps the originaltoElement
, instead of throwing an exception, if passed atoElement
greater than an earliertoElement
.- Specified by:
subSet
in interfacejava.util.NavigableSet<C extends java.lang.Comparable>
- Specified by:
subSet
in interfacejava.util.SortedSet<C extends java.lang.Comparable>
- Overrides:
subSet
in classImmutableSortedSet<C extends java.lang.Comparable>
-
subSet
@GwtIncompatible("NavigableSet") public ContiguousSet<C> subSet(C fromElement, boolean fromInclusive, C toElement, boolean toInclusive)
- Specified by:
subSet
in interfacejava.util.NavigableSet<C extends java.lang.Comparable>
- Overrides:
subSet
in classImmutableSortedSet<C extends java.lang.Comparable>
- Since:
- 12.0
-
tailSet
public ContiguousSet<C> tailSet(C fromElement)
Description copied from class:ImmutableSortedSet
This method returns a serializable
ImmutableSortedSet
.The
SortedSet.tailSet(E)
documentation states that a subset of a subset throws anIllegalArgumentException
if passed afromElement
smaller than an earlierfromElement
. However, this method doesn't throw an exception in that situation, but instead keeps the originalfromElement
.- Specified by:
tailSet
in interfacejava.util.NavigableSet<C extends java.lang.Comparable>
- Specified by:
tailSet
in interfacejava.util.SortedSet<C extends java.lang.Comparable>
- Overrides:
tailSet
in classImmutableSortedSet<C extends java.lang.Comparable>
-
tailSet
@GwtIncompatible("NavigableSet") public ContiguousSet<C> tailSet(C fromElement, boolean inclusive)
- Specified by:
tailSet
in interfacejava.util.NavigableSet<C extends java.lang.Comparable>
- Overrides:
tailSet
in classImmutableSortedSet<C extends java.lang.Comparable>
- Since:
- 12.0
-
intersection
public abstract ContiguousSet<C> intersection(ContiguousSet<C> other)
Returns the set of values that are contained in both this set and the other.This method should always be used instead of
Sets.intersection(java.util.Set<E>, java.util.Set<?>)
forContiguousSet
instances.
-
range
public abstract Range<C> range()
Returns a range, closed on both ends, whose endpoints are the minimum and maximum values contained in this set. This is equivalent torange(CLOSED, CLOSED)
.- Throws:
java.util.NoSuchElementException
- if this set is empty
-
range
public abstract Range<C> range(BoundType lowerBoundType, BoundType upperBoundType)
Returns the minimal range with the given boundary types for which all values in this set are contained within the range.Note that this method will return ranges with unbounded endpoints if
BoundType.OPEN
is requested for a domain minimum or maximum. For example, ifset
was created from the range[1..Integer.MAX_VALUE]
thenset.range(CLOSED, OPEN)
must return[1..∞)
.- Throws:
java.util.NoSuchElementException
- if this set is empty
-
toString
public java.lang.String toString()
Returns a short-hand representation of the contents such as"[1..100]"
.- Overrides:
toString
in classjava.util.AbstractCollection<C extends java.lang.Comparable>
-
builder
@Deprecated public static <E> ImmutableSortedSet.Builder<E> builder()
Deprecated.Not supported.ContiguousSet
instances are constructed withcreate(com.google.common.collect.Range<C>, com.google.common.collect.DiscreteDomain<C>)
. This method exists only to hideImmutableSet.builder()
from consumers ofContiguousSet
.- Throws:
java.lang.UnsupportedOperationException
- always
-
of
@Deprecated public static <E> ImmutableSortedSet<E> of(E element)
Deprecated.Pass a parameter of typeComparable
to useImmutableSortedSet.of(Comparable)
.Not supported. You are attempting to create a set that may contain a non-Comparable
element. Proper calls will resolve to the version inImmutableSortedSet
, not this dummy version.- Throws:
java.lang.UnsupportedOperationException
- always
-
of
@Deprecated public static <E> ImmutableSortedSet<E> of(E e1, E e2)
Deprecated.Pass the parameters of typeComparable
to useImmutableSortedSet.of(Comparable, Comparable)
.Not supported. You are attempting to create a set that may contain a non-Comparable
element. Proper calls will resolve to the version inImmutableSortedSet
, not this dummy version.- Throws:
java.lang.UnsupportedOperationException
- always
-
of
@Deprecated public static <E> ImmutableSortedSet<E> of(E e1, E e2, E e3)
Deprecated.Pass the parameters of typeComparable
to useImmutableSortedSet.of(Comparable, Comparable, Comparable)
.Not supported. You are attempting to create a set that may contain a non-Comparable
element. Proper calls will resolve to the version inImmutableSortedSet
, not this dummy version.- Throws:
java.lang.UnsupportedOperationException
- always
-
of
@Deprecated public static <E> ImmutableSortedSet<E> of(E e1, E e2, E e3, E e4)
Deprecated.Pass the parameters of typeComparable
to useImmutableSortedSet.of(Comparable, Comparable, Comparable, Comparable)
.Not supported. You are attempting to create a set that may contain a non-Comparable
element. Proper calls will resolve to the version inImmutableSortedSet
, not this dummy version.- Throws:
java.lang.UnsupportedOperationException
- always
-
of
@Deprecated public static <E> ImmutableSortedSet<E> of(E e1, E e2, E e3, E e4, E e5)
Deprecated.Pass the parameters of typeComparable
to useImmutableSortedSet.of( Comparable, Comparable, Comparable, Comparable, Comparable)
.Not supported. You are attempting to create a set that may contain a non-Comparable
element. Proper calls will resolve to the version inImmutableSortedSet
, not this dummy version.- Throws:
java.lang.UnsupportedOperationException
- always
-
of
@Deprecated public static <E> ImmutableSortedSet<E> of(E e1, E e2, E e3, E e4, E e5, E e6, E... remaining)
Deprecated.Pass the parameters of typeComparable
to useImmutableSortedSet.of(Comparable, Comparable, Comparable, Comparable, Comparable, Comparable, Comparable...)
.Not supported. You are attempting to create a set that may contain a non-Comparable
element. Proper calls will resolve to the version inImmutableSortedSet
, not this dummy version.- Throws:
java.lang.UnsupportedOperationException
- always
-
copyOf
@Deprecated public static <E> ImmutableSortedSet<E> copyOf(E[] elements)
Deprecated.Pass parameters of typeComparable
to useImmutableSortedSet.copyOf(Comparable[])
.Not supported. You are attempting to create a set that may contain non-Comparable
elements. Proper calls will resolve to the version inImmutableSortedSet
, not this dummy version.- Throws:
java.lang.UnsupportedOperationException
- always
-
-