Class ContiguousSet<C extends Comparable>
- All Implemented Interfaces:
Serializable, Iterable<C>, Collection<C>, NavigableSet<C>, SequencedCollection<C>, SequencedSet<C>, Set<C>, SortedSet<C>
DiscreteDomain. Example:
ContiguousSet.create(Range.closed(5, 42), DiscreteDomain.integers())
Note that because bounded ranges over int and long values are so common, this
particular example can be written as just:
ContiguousSet.closed(5, 42)
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 as Set.hashCode() or Collections.frequency(Collection, Object)) can cause major performance problems.
- Since:
- 10.0
- Author:
- Gregory Kick
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class ImmutableSortedSet
ImmutableSortedSet.Builder<E> -
Method Summary
Modifier and TypeMethodDescriptionasList()Returns anImmutableListcontaining the same elements, in the same order, as this collection.static <E> ImmutableSortedSet.Builder<E> builder()Deprecated.static ContiguousSet<Integer> closed(int lower, int upper) Returns a nonempty contiguous set containing allintvalues fromlower(inclusive) toupper(inclusive).static ContiguousSet<Long> closed(long lower, long upper) Returns a nonempty contiguous set containing alllongvalues fromlower(inclusive) toupper(inclusive).static ContiguousSet<Integer> closedOpen(int lower, int upper) Returns a contiguous set containing allintvalues fromlower(inclusive) toupper(exclusive).static ContiguousSet<Long> closedOpen(long lower, long upper) Returns a contiguous set containing alllongvalues fromlower(inclusive) toupper(exclusive).static <C extends Comparable>
ContiguousSet<C> create(Range<C> range, DiscreteDomain<C> domain) Returns aContiguousSetcontaining the same values in the given domain contained by the range.abstract ContiguousSet<C> intersection(ContiguousSet<C> other) Returns the set of values that are contained in both this set and the other.range()Returns a range, closed on both ends, whose endpoints are the minimum and maximum values contained in this set.Returns the minimal range with the given boundary types for which all values in this set are contained within the range.toString()Returns a shorthand representation of the contents such as"[1..100]".Methods inherited from class ImmutableSortedSet
builderWithExpectedSize, ceiling, comparator, copyOf, copyOf, copyOf, copyOf, copyOf, copyOf, copyOf, copyOf, copyOfSorted, descendingIterator, descendingSet, first, floor, higher, iterator, last, lower, naturalOrder, of, of, of, of, of, of, of, of, of, of, of, of, of, orderedBy, pollFirst, pollLast, reverseOrder, spliterator, toImmutableSet, toImmutableSortedSetMethods inherited from class ImmutableSet
equals, hashCodeMethods inherited from class ImmutableCollection
add, addAll, clear, contains, remove, removeAll, removeIf, retainAll, toArray, toArrayMethods inherited from class AbstractCollection
containsAll, isEmpty, sizeMethods inherited from interface Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface NavigableSet
removeFirst, removeLast, reversed
-
Method Details
-
create
public static <C extends Comparable> ContiguousSet<C> create(Range<C> range, DiscreteDomain<C> domain) Returns aContiguousSetcontaining the same values in the given domain contained by the range.- Throws:
IllegalArgumentException- if neither range nor the domain has a lower bound, or if neither has an upper bound- Since:
- 13.0
-
closed
Returns a nonempty contiguous set containing allintvalues fromlower(inclusive) toupper(inclusive). (These are the same values contained inRange.closed(lower, upper).)- Throws:
IllegalArgumentException- ifloweris greater thanupper- Since:
- 23.0
-
closed
Returns a nonempty contiguous set containing alllongvalues fromlower(inclusive) toupper(inclusive). (These are the same values contained inRange.closed(lower, upper).)- Throws:
IllegalArgumentException- ifloweris greater thanupper- Since:
- 23.0
-
closedOpen
Returns a contiguous set containing allintvalues fromlower(inclusive) toupper(exclusive). If the endpoints are equal, an empty set is returned. (These are the same values contained inRange.closedOpen(lower, upper).)- Throws:
IllegalArgumentException- ifloweris greater thanupper- Since:
- 23.0
-
closedOpen
Returns a contiguous set containing alllongvalues fromlower(inclusive) toupper(exclusive). If the endpoints are equal, an empty set is returned. (These are the same values contained inRange.closedOpen(lower, upper).)- Throws:
IllegalArgumentException- ifloweris greater thanupper- Since:
- 23.0
-
headSet
Description copied from class:ImmutableSortedSetThis method returns a serializable
ImmutableSortedSet.The
SortedSet.headSet(E)documentation states that a subset of a subset throws anIllegalArgumentExceptionif passed atoElementgreater than an earliertoElement. However, this method doesn't throw an exception in that situation, but instead keeps the originaltoElement.- Specified by:
headSetin interfaceNavigableSet<C extends Comparable>- Specified by:
headSetin interfaceSortedSet<C extends Comparable>- Overrides:
headSetin classImmutableSortedSet<C extends Comparable>
-
headSet
- Specified by:
headSetin interfaceNavigableSet<C extends Comparable>- Overrides:
headSetin classImmutableSortedSet<C extends Comparable>- Since:
- 12.0
-
subSet
Description copied from class:ImmutableSortedSetThis method returns a serializable
ImmutableSortedSet.The
SortedSet.subSet(E, E)documentation states that a subset of a subset throws anIllegalArgumentExceptionif passed afromElementsmaller 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 atoElementgreater than an earliertoElement.- Specified by:
subSetin interfaceNavigableSet<C extends Comparable>- Specified by:
subSetin interfaceSortedSet<C extends Comparable>- Overrides:
subSetin classImmutableSortedSet<C extends Comparable>
-
subSet
@GwtIncompatible public ContiguousSet<C> subSet(C fromElement, boolean fromInclusive, C toElement, boolean toInclusive) - Specified by:
subSetin interfaceNavigableSet<C extends Comparable>- Overrides:
subSetin classImmutableSortedSet<C extends Comparable>- Since:
- 12.0
-
tailSet
Description copied from class:ImmutableSortedSetThis method returns a serializable
ImmutableSortedSet.The
SortedSet.tailSet(E)documentation states that a subset of a subset throws anIllegalArgumentExceptionif passed afromElementsmaller than an earlierfromElement. However, this method doesn't throw an exception in that situation, but instead keeps the originalfromElement.- Specified by:
tailSetin interfaceNavigableSet<C extends Comparable>- Specified by:
tailSetin interfaceSortedSet<C extends Comparable>- Overrides:
tailSetin classImmutableSortedSet<C extends Comparable>
-
tailSet
- Specified by:
tailSetin interfaceNavigableSet<C extends Comparable>- Overrides:
tailSetin classImmutableSortedSet<C extends Comparable>- Since:
- 12.0
-
intersection
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(Set, Set)forContiguousSetinstances. -
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:
NoSuchElementException- if this set is empty
-
range
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.OPENis requested for a domain minimum or maximum. For example, ifsetwas created from the range[1..Integer.MAX_VALUE]thenset.range(CLOSED, OPEN)must return[1..∞).- Throws:
NoSuchElementException- if this set is empty
-
toString
Returns a shorthand representation of the contents such as"[1..100]".- Overrides:
toStringin classAbstractCollection<C extends Comparable>
-
builder
Deprecated.Not supported.ContiguousSetinstances are constructed withcreate(Range, DiscreteDomain). This method exists only to hideImmutableSet.builder()from consumers ofContiguousSet.- Throws:
UnsupportedOperationException- always
-
asList
Description copied from class:ImmutableCollectionReturns anImmutableListcontaining the same elements, in the same order, as this collection.Performance note: in most cases this method can return quickly without actually copying anything. The exact circumstances under which the copy is performed are undefined and subject to change.
- Overrides:
asListin classImmutableCollection<E>
-
create(Range, DiscreteDomain).