T
- Component typepublic interface SortedSet<T> extends Set<T>, Ordered<T>
SortedSet
interface.
Specific SortedSet operations:
Modifier and Type | Field and Description |
---|---|
static long |
serialVersionUID |
Modifier and Type | Method and Description |
---|---|
SortedSet<T> |
add(T element)
Add the given element to this set, if it is not already contained.
|
SortedSet<T> |
addAll(Iterable<? extends T> elements)
Adds all of the given elements to this set, if not already contained.
|
<R> SortedSet<R> |
collect(PartialFunction<? super T,? extends R> partialFunction)
Collects all elements that are in the domain of the given
partialFunction by mapping the elements to type R . |
SortedSet<T> |
diff(Set<? extends T> elements)
Calculates the difference between this set and another set.
|
SortedSet<T> |
distinct()
Returns a new version of this which contains no duplicates.
|
SortedSet<T> |
distinctBy(Comparator<? super T> comparator)
Returns a new version of this which contains no duplicates.
|
<U> SortedSet<T> |
distinctBy(Function<? super T,? extends U> keyExtractor)
Returns a new version of this which contains no duplicates.
|
SortedSet<T> |
drop(int n)
Drops the first n elements of this or all elements, if this length < n.
|
SortedSet<T> |
dropRight(int n)
Drops the last n elements of this or all elements, if this length < n.
|
SortedSet<T> |
dropUntil(Predicate<? super T> predicate)
Drops elements until the predicate holds for the current element.
|
SortedSet<T> |
dropWhile(Predicate<? super T> predicate)
Drops elements while the predicate holds for the current element.
|
SortedSet<T> |
filter(Predicate<? super T> predicate)
Returns a new traversable consisting of all elements which satisfy the given predicate.
|
<U> SortedSet<U> |
flatMap(Comparator<? super U> comparator,
Function<? super T,? extends Iterable<? extends U>> mapper)
Same as
flatMap(Function) but using a specific comparator for values of the codomain of the given
mapper . |
<U> SortedSet<U> |
flatMap(Function<? super T,? extends Iterable<? extends U>> mapper)
FlatMaps this Traversable.
|
<C> Map<C,? extends SortedSet<T>> |
groupBy(Function<? super T,? extends C> classifier)
Groups this elements by classifying the elements.
|
Iterator<? extends SortedSet<T>> |
grouped(int size)
Groups this
Traversable into fixed size blocks. |
SortedSet<T> |
init()
Dual of Traversable.tail(), returning all elements except the last.
|
Option<? extends SortedSet<T>> |
initOption()
Dual of Traversable.tailOption(), returning all elements except the last as
Option . |
SortedSet<T> |
intersect(Set<? extends T> elements)
Computes the intersection between this set and another set.
|
default boolean |
isOrdered()
Checks if this Traversable is ordered
|
<U> SortedSet<U> |
map(Comparator<? super U> comparator,
Function<? super T,? extends U> mapper)
Same as
map(Function) but using a specific comparator for values of the codomain of the given
mapper . |
<U> SortedSet<U> |
map(Function<? super T,? extends U> mapper)
Maps the elements of this
Traversable to elements of a new type preserving their order, if any. |
static <T> SortedSet<T> |
narrow(SortedSet<? extends T> sortedSet)
Narrows a widened
SortedSet<? extends T> to SortedSet<T>
by performing a type-safe cast. |
SortedSet<T> |
orElse(Iterable<? extends T> other)
Returns this
Traversable if it is nonempty, otherwise return the alternative. |
SortedSet<T> |
orElse(Supplier<? extends Iterable<? extends T>> supplier)
Returns this
Traversable if it is nonempty, otherwise return the result of evaluating supplier. |
Tuple2<? extends SortedSet<T>,? extends SortedSet<T>> |
partition(Predicate<? super T> predicate)
Creates a partition of this
Traversable by splitting this elements in two in distinct traversables
according to a predicate. |
SortedSet<T> |
peek(Consumer<? super T> action)
Performs the given
action on the first element if this is an eager implementation. |
SortedSet<T> |
reject(Predicate<? super T> predicate)
Returns a new traversable consisting of all elements which do not satisfy the given predicate.
|
SortedSet<T> |
remove(T element)
Removes a specific element from this set, if present.
|
SortedSet<T> |
removeAll(Iterable<? extends T> elements)
Removes all of the given elements from this set, if present.
|
SortedSet<T> |
replace(T currentElement,
T newElement)
Replaces the first occurrence (if exists) of the given currentElement with newElement.
|
SortedSet<T> |
replaceAll(T currentElement,
T newElement)
Replaces all occurrences of the given currentElement with newElement.
|
SortedSet<T> |
retainAll(Iterable<? extends T> elements)
Keeps all occurrences of the given elements from this.
|
SortedSet<T> |
scan(T zero,
BiFunction<? super T,? super T,? extends T> operation)
Computes a prefix scan of the elements of the collection.
|
<U> Set<U> |
scanLeft(U zero,
BiFunction<? super U,? super T,? extends U> operation)
Produces a collection containing cumulative results of applying the
operator going left to right.
|
<U> Set<U> |
scanRight(U zero,
BiFunction<? super T,? super U,? extends U> operation)
Produces a collection containing cumulative results of applying the
operator going right to left.
|
Iterator<? extends SortedSet<T>> |
slideBy(Function<? super T,?> classifier)
Slides a non-overlapping window of a variable size over this
Traversable . |
Iterator<? extends SortedSet<T>> |
sliding(int size)
Slides a window of a specific
size and step size 1 over this Traversable by calling
Traversable.sliding(int, int) . |
Iterator<? extends SortedSet<T>> |
sliding(int size,
int step)
Slides a window of a specific
size and step size over this Traversable . |
Tuple2<? extends SortedSet<T>,? extends SortedSet<T>> |
span(Predicate<? super T> predicate)
Returns a tuple where the first element is the longest prefix of elements that satisfy the given
predicate and the second element is the remainder. |
SortedSet<T> |
tail()
Drops the first element of a non-empty Traversable.
|
Option<? extends SortedSet<T>> |
tailOption()
Drops the first element of a non-empty Traversable and returns an
Option . |
SortedSet<T> |
take(int n)
Takes the first n elements of this or all elements, if this length < n.
|
SortedSet<T> |
takeRight(int n)
Takes the last n elements of this or all elements, if this length < n.
|
SortedSet<T> |
takeUntil(Predicate<? super T> predicate)
Takes elements until the predicate holds for the current element.
|
SortedSet<T> |
takeWhile(Predicate<? super T> predicate)
Takes elements while the predicate holds for the current element.
|
SortedSet<T> |
toJavaSet()
Converts this Vavr
Set to a java.util.Set while preserving characteristics
like insertion order (LinkedHashSet ) and sort order (SortedSet ). |
SortedSet<T> |
union(Set<? extends T> elements)
Adds all of the elements of
that set to this set, if not already present. |
<T1,T2> Tuple2<? extends SortedSet<T1>,? extends SortedSet<T2>> |
unzip(Function<? super T,Tuple2<? extends T1,? extends T2>> unzipper)
Unzips this elements by mapping this elements to pairs which are subsequently split into two distinct
sets.
|
<T1,T2,T3> Tuple3<? extends SortedSet<T1>,? extends SortedSet<T2>,? extends SortedSet<T3>> |
unzip3(Function<? super T,Tuple3<? extends T1,? extends T2,? extends T3>> unzipper)
Unzips this elements by mapping this elements to triples which are subsequently split into three distinct
sets.
|
<U> SortedSet<Tuple2<T,U>> |
zip(Iterable<? extends U> that)
Returns a traversable formed from this traversable and another Iterable collection by combining
corresponding elements in pairs.
|
<U> SortedSet<Tuple2<T,U>> |
zipAll(Iterable<? extends U> that,
T thisElem,
U thatElem)
Returns a traversable formed from this traversable and another Iterable by combining corresponding elements in
pairs.
|
<U,R> SortedSet<R> |
zipWith(Iterable<? extends U> that,
BiFunction<? super T,? super U,? extends R> mapper)
Returns a traversable formed from this traversable and another Iterable collection by mapping elements.
|
SortedSet<Tuple2<T,Integer>> |
zipWithIndex()
Zips this traversable with its indices.
|
<U> SortedSet<U> |
zipWithIndex(BiFunction<? super T,? super Integer,? extends U> mapper)
Returns a traversable formed from this traversable and another Iterable collection by mapping elements.
|
apply, contains, isDistinct, iterator, length, narrow
arrangeBy, average, containsAll, count, equals, existsUnique, find, findLast, foldLeft, foldRight, forEachWithIndex, get, hasDefiniteSize, hashCode, head, headOption, isEmpty, isSequential, isSingleValued, isTraversableAgain, last, lastOption, max, maxBy, maxBy, min, minBy, minBy, mkCharSeq, mkCharSeq, mkCharSeq, mkString, mkString, mkString, narrow, nonEmpty, product, reduceLeft, reduceLeftOption, reduceRight, reduceRightOption, single, singleOption, size, spliterator, sum
fold, reduce, reduceOption
collect, collect, corresponds, eq, exists, forAll, forEach, getOrElse, getOrElse, getOrElseThrow, getOrElseTry, getOrNull, isAsync, isLazy, narrow, out, out, stderr, stdout, stringPrefix, toArray, toCharSeq, toCompletableFuture, toEither, toEither, toInvalid, toInvalid, toJavaArray, toJavaArray, toJavaArray, toJavaCollection, toJavaList, toJavaList, toJavaMap, toJavaMap, toJavaMap, toJavaOptional, toJavaParallelStream, toJavaSet, toJavaStream, toLeft, toLeft, toLinkedMap, toLinkedMap, toLinkedSet, toList, toMap, toMap, toOption, toPriorityQueue, toPriorityQueue, toQueue, toRight, toRight, toSet, toSortedMap, toSortedMap, toSortedMap, toSortedMap, toSortedSet, toSortedSet, toStream, toString, toTree, toTree, toTry, toTry, toValid, toValid, toValidation, toValidation, toVector
andThen, arity, compose, constant, curried, identity, isMemoized, lift, liftTry, memoized, narrow, of, partial, reversed, tupled
comparator
static final long serialVersionUID
static <T> SortedSet<T> narrow(SortedSet<? extends T> sortedSet)
SortedSet<? extends T>
to SortedSet<T>
by performing a type-safe cast. This is eligible because immutable/read-only
collections are covariant.
CAUTION: The underlying Comparator
might fail!
T
- Component type of the SortedSet
.sortedSet
- A SortedSet
.sortedSet
instance as narrowed type SortedSet<T>
.<U> SortedSet<U> flatMap(Comparator<? super U> comparator, Function<? super T,? extends Iterable<? extends U>> mapper)
flatMap(Function)
but using a specific comparator for values of the codomain of the given
mapper
.U
- Type of flat-mapped valuescomparator
- A comparator for values of type Umapper
- A function which maps values of type T to Iterables of values of type U<U> SortedSet<U> map(Comparator<? super U> comparator, Function<? super T,? extends U> mapper)
map(Function)
but using a specific comparator for values of the codomain of the given
mapper
.U
- Type of mapped valuescomparator
- A comparator for values of type Umapper
- A function which maps values of type T to values of type USortedSet<T> add(T element)
Set
SortedSet<T> addAll(Iterable<? extends T> elements)
Set
<R> SortedSet<R> collect(PartialFunction<? super T,? extends R> partialFunction)
Traversable
partialFunction
by mapping the elements to type R
.
More specifically, for each of this elements in iteration order first it is checked
partialFunction.isDefinedAt(element)
If the elements makes it through that filter, the mapped instance is added to the result collection
R newElement = partialFunction.apply(element)
Note:If this Traversable
is ordered (i.e. extends Ordered
,
the caller of collect
has to ensure that the elements are comparable (i.e. extend Comparable
).collect
in interface Set<T>
collect
in interface Traversable<T>
R
- The new element typepartialFunction
- A function that is not necessarily defined of all elements of this traversable.Traversable
instance containing elements of type R
SortedSet<T> diff(Set<? extends T> elements)
Set
See also Set.removeAll(Iterable)
.
SortedSet<T> distinct()
Traversable
equals
.SortedSet<T> distinctBy(Comparator<? super T> comparator)
Traversable
comparator
.distinctBy
in interface Set<T>
distinctBy
in interface Traversable<T>
comparator
- A comparatorTraversable
containing this elements without duplicates<U> SortedSet<T> distinctBy(Function<? super T,? extends U> keyExtractor)
Traversable
equals
.
The elements of the result are determined in the order of their occurrence - first match wins.
distinctBy
in interface Set<T>
distinctBy
in interface Traversable<T>
U
- key typekeyExtractor
- A key extractorTraversable
containing this elements without duplicatesSortedSet<T> drop(int n)
Traversable
SortedSet<T> dropRight(int n)
Traversable
SortedSet<T> dropUntil(Predicate<? super T> predicate)
Traversable
SortedSet<T> dropWhile(Predicate<? super T> predicate)
Traversable
Note: This is essentially the same as dropUntil(predicate.negate())
.
It is intended to be used with method references, which cannot be negated directly.
SortedSet<T> filter(Predicate<? super T> predicate)
Traversable
SortedSet<T> reject(Predicate<? super T> predicate)
Traversable
The default implementation is equivalent to
filter(predicate.negate()
<U> SortedSet<U> flatMap(Function<? super T,? extends Iterable<? extends U>> mapper)
Traversable
<C> Map<C,? extends SortedSet<T>> groupBy(Function<? super T,? extends C> classifier)
Traversable
groupBy
in interface Set<T>
groupBy
in interface Traversable<T>
C
- classified class typeclassifier
- A function which classifies elements into classesTraversable.arrangeBy(Function)
Iterator<? extends SortedSet<T>> grouped(int size)
Traversable
Traversable
into fixed size blocks.
Let length be the length of this Iterable. Then grouped is defined as follows:
this.isEmpty()
, the resulting Iterator
is empty.size <= length
, the resulting Iterator
will contain length / size
blocks of size
size
and maybe a non-empty block of size length % size
, if there are remaining elements.size > length
, the resulting Iterator
will contain one block of size length
.
[].grouped(1) = []
[].grouped(0) throws
[].grouped(-1) throws
[1,2,3,4].grouped(2) = [[1,2],[3,4]]
[1,2,3,4,5].grouped(2) = [[1,2],[3,4],[5]]
[1,2,3,4].grouped(5) = [[1,2,3,4]]
Please note that grouped(int)
is a special case of Traversable.sliding(int, int), i.e.
grouped(size)
is the same as sliding(size, size)
.SortedSet<T> init()
Traversable
Option<? extends SortedSet<T>> initOption()
Traversable
Option
.initOption
in interface Set<T>
initOption
in interface Traversable<T>
Some(traversable)
or None
if this is empty.SortedSet<T> intersect(Set<? extends T> elements)
Set
See also Set.retainAll(Iterable)
.
default boolean isOrdered()
Traversable
isOrdered
in interface Traversable<T>
<U> SortedSet<U> map(Function<? super T,? extends U> mapper)
Traversable
Traversable
to elements of a new type preserving their order, if any.SortedSet<T> orElse(Iterable<? extends T> other)
Traversable
Traversable
if it is nonempty, otherwise return the alternative.SortedSet<T> orElse(Supplier<? extends Iterable<? extends T>> supplier)
Traversable
Traversable
if it is nonempty, otherwise return the result of evaluating supplier.Tuple2<? extends SortedSet<T>,? extends SortedSet<T>> partition(Predicate<? super T> predicate)
Traversable
Traversable
by splitting this elements in two in distinct traversables
according to a predicate.partition
in interface Set<T>
partition
in interface Traversable<T>
predicate
- A predicate which classifies an element if it is in the first or the second traversable.Traversable
contains all elements that satisfy the given predicate
, the second Traversable
contains all elements that don't. The original order of elements is preserved.SortedSet<T> peek(Consumer<? super T> action)
Value
action
on the first element if this is an eager implementation.
Performs the given action
on all elements (the first immediately, successive deferred),
if this is a lazy implementation.SortedSet<T> remove(T element)
Set
SortedSet<T> removeAll(Iterable<? extends T> elements)
Set
SortedSet<T> replace(T currentElement, T newElement)
Traversable
replace
in interface Set<T>
replace
in interface Traversable<T>
currentElement
- An element to be substituted.newElement
- A replacement for currentElement.SortedSet<T> replaceAll(T currentElement, T newElement)
Traversable
replaceAll
in interface Set<T>
replaceAll
in interface Traversable<T>
currentElement
- An element to be substituted.newElement
- A replacement for currentElement.SortedSet<T> retainAll(Iterable<? extends T> elements)
Traversable
SortedSet<T> scan(T zero, BiFunction<? super T,? super T,? extends T> operation)
Traversable
scan
in interface Set<T>
scan
in interface Traversable<T>
zero
- neutral element for the operator opoperation
- the associative operator for the scan<U> Set<U> scanLeft(U zero, BiFunction<? super U,? super T,? extends U> operation)
Traversable
scanLeft
in interface Set<T>
scanLeft
in interface Traversable<T>
U
- the type of the elements in the resulting collectionzero
- the initial valueoperation
- the binary operator applied to the intermediate result and the element<U> Set<U> scanRight(U zero, BiFunction<? super T,? super U,? extends U> operation)
Traversable
scanRight
in interface Set<T>
scanRight
in interface Traversable<T>
U
- the type of the elements in the resulting collectionzero
- the initial valueoperation
- the binary operator applied to the intermediate result and the elementIterator<? extends SortedSet<T>> slideBy(Function<? super T,?> classifier)
Traversable
Traversable
.
Each window contains elements with the same class, as determined by classifier
. Two consecutive
values in this Traversable
will be in the same window only if classifier
returns equal
values for them. Otherwise, the values will constitute the last element of the previous window and the
first element of the next window.
Examples:
[].slideBy(Function.identity()) = []
[1,2,3,4,4,5].slideBy(Function.identity()) = [[1],[2],[3],[4,4],[5]]
[1,2,3,10,12,5,7,20,29].slideBy(x -> x/10) = [[1,2,3],[10,12],[5,7],[20,29]]
Iterator<? extends SortedSet<T>> sliding(int size)
Traversable
size
and step size 1 over this Traversable
by calling
Traversable.sliding(int, int)
.Iterator<? extends SortedSet<T>> sliding(int size, int step)
Traversable
size
and step
size over this Traversable
.
Examples:
[].sliding(1,1) = []
[1,2,3,4,5].sliding(2,3) = [[1,2],[4,5]]
[1,2,3,4,5].sliding(2,4) = [[1,2],[5]]
[1,2,3,4,5].sliding(2,5) = [[1,2]]
[1,2,3,4].sliding(5,3) = [[1,2,3,4],[4]]
Tuple2<? extends SortedSet<T>,? extends SortedSet<T>> span(Predicate<? super T> predicate)
Traversable
predicate
and the second element is the remainder.SortedSet<T> tail()
Traversable
Option<? extends SortedSet<T>> tailOption()
Traversable
Option
.tailOption
in interface Set<T>
tailOption
in interface Traversable<T>
Some(traversable)
or None
if this is empty.SortedSet<T> take(int n)
Traversable
The result is equivalent to sublist(0, max(0, min(length(), n)))
but does not throw if n < 0
or
n > length()
.
In the case of n < 0
the empty instance is returned, in the case of n > length()
this is returned.
SortedSet<T> takeRight(int n)
Traversable
The result is equivalent to sublist(max(0, min(length(), length() - n)), n)
, i.e. takeRight will not
throw if n < 0
or n > length()
.
In the case of n < 0
the empty instance is returned, in the case of n > length()
this is returned.
SortedSet<T> takeUntil(Predicate<? super T> predicate)
Traversable
Note: This is essentially the same as takeWhile(predicate.negate())
. It is intended to be used with
method references, which cannot be negated directly.
SortedSet<T> takeWhile(Predicate<? super T> predicate)
Traversable
SortedSet<T> toJavaSet()
Set
Set
to a java.util.Set
while preserving characteristics
like insertion order (LinkedHashSet
) and sort order (SortedSet
).SortedSet<T> union(Set<? extends T> elements)
Set
that
set to this set, if not already present.
See also Set.addAll(Iterable)
.
<T1,T2> Tuple2<? extends SortedSet<T1>,? extends SortedSet<T2>> unzip(Function<? super T,Tuple2<? extends T1,? extends T2>> unzipper)
Traversable
unzip
in interface Set<T>
unzip
in interface Traversable<T>
T1
- 1st element type of a pair returned by unzipperT2
- 2nd element type of a pair returned by unzipperunzipper
- a function which converts elements of this to pairs<T1,T2,T3> Tuple3<? extends SortedSet<T1>,? extends SortedSet<T2>,? extends SortedSet<T3>> unzip3(Function<? super T,Tuple3<? extends T1,? extends T2,? extends T3>> unzipper)
Traversable
unzip3
in interface Set<T>
unzip3
in interface Traversable<T>
T1
- 1st element type of a triplet returned by unzipperT2
- 2nd element type of a triplet returned by unzipperT3
- 3rd element type of a triplet returned by unzipperunzipper
- a function which converts elements of this to pairs<U> SortedSet<Tuple2<T,U>> zip(Iterable<? extends U> that)
Traversable
The length of the returned traversable is the minimum of the lengths of this traversable and that
iterable.
zip
in interface Set<T>
zip
in interface Traversable<T>
U
- The type of the second half of the returned pairs.that
- The Iterable providing the second half of each result pair.that
iterable.<U,R> SortedSet<R> zipWith(Iterable<? extends U> that, BiFunction<? super T,? super U,? extends R> mapper)
Traversable
The length of the returned traversable is the minimum of the lengths of this traversable and that
iterable.
zipWith
in interface Set<T>
zipWith
in interface Traversable<T>
U
- The type of the second parameter of the mapper.R
- The type of the mapped elements.that
- The Iterable providing the second parameter of the mapper.mapper
- a mapper.that
iterable.<U> SortedSet<Tuple2<T,U>> zipAll(Iterable<? extends U> that, T thisElem, U thatElem)
Traversable
The length of the returned traversable is the maximum of the lengths of this traversable and that
iterable.
Special case: if this traversable is shorter than that elements, and that elements contains duplicates, the resulting traversable may be shorter than the maximum of the lengths of this and that because a traversable contains an element at most once.
If this Traversable is shorter than that, thisElem values are used to fill the result. If that is shorter than this Traversable, thatElem values are used to fill the result.
zipAll
in interface Set<T>
zipAll
in interface Traversable<T>
U
- The type of the second half of the returned pairs.that
- The Iterable providing the second half of each result pair.thisElem
- The element to be used to fill up the result if this traversable is shorter than that.thatElem
- The element to be used to fill up the result if that is shorter than this traversable.SortedSet<Tuple2<T,Integer>> zipWithIndex()
Traversable
zipWithIndex
in interface Set<T>
zipWithIndex
in interface Traversable<T>
<U> SortedSet<U> zipWithIndex(BiFunction<? super T,? super Integer,? extends U> mapper)
Traversable
The length of the returned traversable is the minimum of the lengths of this traversable and that
iterable.
zipWithIndex
in interface Set<T>
zipWithIndex
in interface Traversable<T>
U
- The type of the mapped elements.mapper
- a mapper.that
iterable.Copyright © 2021. All Rights Reserved.