Interface ReferenceSortedSet<K>
- All Superinterfaces:
Collection<K>
,Iterable<K>
,ObjectBidirectionalIterable<K>
,ObjectIterable<K>
,ReferenceCollection<K>
,ReferenceSet<K>
,SequencedCollection<K>
,SequencedSet<K>
,Set<K>
,SortedSet<K>
- All Known Implementing Classes:
AbstractReferenceSortedSet
,ReferenceLinkedOpenHashSet
,ReferenceSortedSets.EmptySet
,ReferenceSortedSets.Singleton
,ReferenceSortedSets.SynchronizedSortedSet
,ReferenceSortedSets.UnmodifiableSortedSet
SortedSet
; provides some additional methods that use polymorphism to
avoid (un)boxing.
Additionally, this interface strengthens iterator()
, SortedSet.comparator()
(for
primitive types), SortedSet.subSet(Object,Object)
, SortedSet.headSet(Object)
and
SortedSet.tailSet(Object)
.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionReturns a view of the portion of this sorted set whose elements are strictly less thantoElement
.iterator()
Returns a type-specificBidirectionalIterator
on the elements in this set.Returns a type-specificBidirectionalIterator
on the elements in this set, starting from a given element of the domain (optional operation).default ObjectSpliterator
<K> Returns a type-specific spliterator on the elements of this sorted-set.Returns a view of the portion of this sorted set whose elements range fromfromElement
, inclusive, totoElement
, exclusive.Returns a view of the portion of this sorted set whose elements are greater than or equal tofromElement
.Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods inherited from interface java.util.Set
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, remove, removeAll, retainAll, size, toArray, toArray
Methods inherited from interface java.util.SortedSet
addFirst, addLast, comparator, first, getFirst, getLast, last, removeFirst, removeLast, reversed
-
Method Details
-
iterator
Returns a type-specificBidirectionalIterator
on the elements in this set, starting from a given element of the domain (optional operation).This method returns a type-specific bidirectional iterator with given starting point. The starting point is any element comparable to the elements of this set (even if it does not actually belong to the set). The next element of the returned iterator is the least element of the set that is greater than the starting point (if there are no elements greater than the starting point,
hasNext()
will returnfalse
). The previous element of the returned iterator is the greatest element of the set that is smaller than or equal to the starting point (if there are no elements smaller than or equal to the starting point,hasPrevious()
will returnfalse
).Note that passing the last element of the set as starting point and calling
previous()
you can traverse the entire set in reverse order.- Parameters:
fromElement
- an element to start from.- Returns:
- a bidirectional iterator on the element in this set, starting at the given element.
- Throws:
UnsupportedOperationException
- if this set does not support iterators with a starting point.
-
iterator
ObjectBidirectionalIterator<K> iterator()Returns a type-specificBidirectionalIterator
on the elements in this set.This method returns a parameterised bidirectional iterator. The iterator can be moreover safely cast to a type-specific iterator.
- Specified by:
iterator
in interfaceCollection<K>
- Specified by:
iterator
in interfaceIterable<K>
- Specified by:
iterator
in interfaceObjectBidirectionalIterable<K>
- Specified by:
iterator
in interfaceObjectIterable<K>
- Specified by:
iterator
in interfaceReferenceCollection<K>
- Specified by:
iterator
in interfaceReferenceSet<K>
- Specified by:
iterator
in interfaceSet<K>
- Returns:
- a bidirectional iterator on the element in this set.
- See Also:
- API Notes:
- This specification strengthens the one given in the corresponding type-specific
Collection
.
-
spliterator
Returns a type-specific spliterator on the elements of this sorted-set.SortedSet spliterators must report at least
Spliterator.DISTINCT
,Spliterator.ORDERED
, andSpliterator.SORTED
. The returned spliterator'sgetComparator()
must be the same (or at the very least, consistent with) this instance'sSortedSet.comparator()
.See
SortedSet.spliterator()
for more documentation on the requirements of the returned spliterator.- Specified by:
spliterator
in interfaceCollection<K>
- Specified by:
spliterator
in interfaceIterable<K>
- Specified by:
spliterator
in interfaceObjectIterable<K>
- Specified by:
spliterator
in interfaceReferenceCollection<K>
- Specified by:
spliterator
in interfaceReferenceSet<K>
- Specified by:
spliterator
in interfaceSet<K>
- Specified by:
spliterator
in interfaceSortedSet<K>
- Returns:
- a type-specific spliterator on the elements of this collection.
- Since:
- 8.5.0
- API Notes:
- This specification strengthens the one given in
Collection.spliterator()
, which was already strengthened in the corresponding type-specific class, but was weakened by the fact that this interface extendsSortedSet
.Also, this is generally the only
spliterator
method subclasses should override. - Implementation Specification:
- The default implementation returns a late-binding spliterator (see
Spliterator
for documentation on what binding policies mean) that wraps this instance's type specificiterator(K)
.Additionally, it reports
Spliterator.SIZED
,Spliterator.DISTINCT
,Spliterator.SORTED
, andSpliterator.ORDERED
. The reportedComparator
fromSpliterator.getComparator()
will be the one reported by this instance'sSortedSet.comparator()
. - Implementation Notes:
- As this default implementation wraps the iterator, and
Iterator
is an inherently linear API, the returned spliterator will yield limited performance gains when run in parallel contexts, as the returned spliterator'strySplit()
will have linear runtime.
-
subSet
Returns a view of the portion of this sorted set whose elements range fromfromElement
, inclusive, totoElement
, exclusive.- Specified by:
subSet
in interfaceSortedSet<K>
- See Also:
- API Notes:
- This specification strengthens the one given in
SortedSet.subSet(Object,Object)
.
-
headSet
Returns a view of the portion of this sorted set whose elements are strictly less thantoElement
.- Specified by:
headSet
in interfaceSortedSet<K>
- See Also:
- API Notes:
- This specification strengthens the one given in
SortedSet.headSet(Object)
.
-
tailSet
Returns a view of the portion of this sorted set whose elements are greater than or equal tofromElement
.- Specified by:
tailSet
in interfaceSortedSet<K>
- See Also:
- API Notes:
- This specification strengthens the one given in
SortedSet.headSet(Object)
.
-