T
- the type of elements held in this collectionpublic interface ListX<T> extends To<ListX<T>>, java.util.List<T>, MutableCollectionX<T>, MutableSequenceX<T>, java.lang.Comparable<T>, IterableFunctor<T>, ZippingApplicativable<T>, OnEmptySwitch<T,java.util.List<T>>
Modifier and Type | Interface and Description |
---|---|
static class |
ListX.ยต |
Modifier and Type | Method and Description |
---|---|
default <U> ListX<U> |
cast(java.lang.Class<? extends U> type)
Cast all elements in a stream to a given type, possibly throwing a
ClassCastException . |
default ListX<ReactiveSeq<T>> |
combinations()
Generate the combinations based on values in the ExtendedTraversable.
|
default ListX<ReactiveSeq<T>> |
combinations(int size)
Generate the combinations based on values in the ExtendedTraversable.
|
default ListX<T> |
combine(java.util.function.BiPredicate<? super T,? super T> predicate,
java.util.function.BinaryOperator<T> op)
Combine two adjacent elements in a ListX using the supplied BinaryOperator
This is a stateful grouping and reduction operation.
|
default ListX<T> |
cycle(int times)
Convert to a Stream with the values repeated specified times
|
default ListX<T> |
cycle(Monoid<T> m,
int times)
Convert to a Stream with the result of a reduction operation repeated
specified times
|
default ListX<T> |
cycleUntil(java.util.function.Predicate<? super T> predicate)
Repeat in a Stream until specified predicate holds
|
default ListX<T> |
cycleWhile(java.util.function.Predicate<? super T> predicate)
Repeat in a Stream while specified predicate holds
|
static <T> java.util.stream.Collector<T,?,java.util.List<T>> |
defaultCollector() |
default ListX<T> |
distinct() |
default ListX<T> |
dropRight(int num)
Generate a new Traversable that drops the specified number elements from the end of this Traversable
|
default ListX<T> |
dropUntil(java.util.function.Predicate<? super T> p)
Generate a new Traversable that drops elements from this Traversable until the predicate holds
|
default ListX<T> |
dropWhile(java.util.function.Predicate<? super T> p)
Generate a new Traversable that drops elements from this Traversable as long as the predicate holds
|
static <T> ListX<T> |
empty() |
default ListX<T> |
filter(java.util.function.Predicate<? super T> pred)
Keep only elements for which the supplied predicates hold
e.g.
|
default ListX<T> |
filterNot(java.util.function.Predicate<? super T> fn)
Remove any elements for which the predicate holds (inverse operation to filter)
e.g.
|
default <R> ListX<R> |
flatMap(java.util.function.Function<? super T,? extends java.lang.Iterable<? extends R>> mapper)
Perform a flatMap operation on this collection.
|
default <T1> ListX<T1> |
from(java.util.Collection<T1> c)
Conctruct an Extended Collection from a standard Collection
|
static <T> ListX<T> |
fromIterable(java.util.stream.Collector<T,?,java.util.List<T>> collector,
java.lang.Iterable<T> it) |
static <T> ListX<T> |
fromIterable(java.lang.Iterable<T> it) |
static <T> ListX<T> |
fromPublisher(org.reactivestreams.Publisher<? extends T> publisher)
Construct a ListX from an Publisher
|
default <X> ListX<X> |
fromStream(java.util.stream.Stream<X> stream) |
static <T> ListX<T> |
generate(long limit,
java.util.function.Supplier<T> s)
Generate a ListX from the provided Supplier up to the provided limit number of times
|
<T> java.util.stream.Collector<T,?,java.util.List<T>> |
getCollector() |
default <K> ListX<org.jooq.lambda.tuple.Tuple2<K,org.jooq.lambda.Seq<T>>> |
grouped(java.util.function.Function<? super T,? extends K> classifier)
Group this Traversable by the provided classifying function and collected by the provided Collector
|
default <K,A,D> ListX<org.jooq.lambda.tuple.Tuple2<K,D>> |
grouped(java.util.function.Function<? super T,? extends K> classifier,
java.util.stream.Collector<? super T,A,D> downstream)
Group this Traversable by the provided classifying function and collected by the provided Collector
|
default ListX<ListX<T>> |
grouped(int groupSize)
Group elements in a Stream
|
default <C extends java.util.Collection<? super T>> |
grouped(int size,
java.util.function.Supplier<C> supplier)
Batch elements in a Stream by size into a collection created by the
supplied factory
|
default ListX<ListX<T>> |
groupedStatefullyUntil(java.util.function.BiPredicate<ListX<? super T>,? super T> predicate)
Create Travesable of Lists where
each List is populated while the supplied bipredicate holds.
|
default ListX<ListX<T>> |
groupedUntil(java.util.function.Predicate<? super T> predicate)
Create a Traversable batched by List, where each batch is populated until
the predicate holds
|
default <C extends java.util.Collection<? super T>> |
groupedUntil(java.util.function.Predicate<? super T> predicate,
java.util.function.Supplier<C> factory)
Create a ReactiveSeq batched by a Collection, where each batch is populated
until the predicate holds
|
default ListX<ListX<T>> |
groupedWhile(java.util.function.Predicate<? super T> predicate)
Create a Traversable batched by List, where each batch is populated while
the predicate holds
|
default <C extends java.util.Collection<? super T>> |
groupedWhile(java.util.function.Predicate<? super T> predicate,
java.util.function.Supplier<C> factory)
Create a SequenceM batched by a Collection, where each batch is populated
while the predicate holds
|
static <T> java.util.stream.Collector<T,?,java.util.List<T>> |
immutableCollector() |
default ListX<T> |
intersperse(T value)
Returns a stream with a given value interspersed between any two values
of this stream.
|
static <T> ListX<T> |
iterate(long limit,
T seed,
java.util.function.UnaryOperator<T> f)
Create a ListX by iterative application of a function to an initial element up to the supplied limit number of times
|
default ListX<T> |
limit(long num)
assertThat(ReactiveSeq.of(4,3,6,7).limit(2).toList(),equalTo(Arrays.asList(4,3)); |
default ListX<T> |
limitLast(int num)
Limit results to the last x elements in a SequenceM
|
default ListX<T> |
limitUntil(java.util.function.Predicate<? super T> p)
Take elements from the Stream until the predicate returns true, after
which all elements are excluded.
|
default ListX<T> |
limitWhile(java.util.function.Predicate<? super T> p)
Take elements from the Stream while the predicate holds, once the
predicate returns false all subsequent elements are excluded
|
static <T> java.util.stream.Collector<T,?,ListX<T>> |
listXCollector() |
default <R> ListX<R> |
map(java.util.function.Function<? super T,? extends R> mapper)
Transform this functor using the supplied transformation function
|
default ListX<T> |
minus(int pos)
Remove the element at the supplied index
|
default ListX<T> |
minus(java.lang.Object e)
Remove the specified element from this collection
|
default ListX<T> |
minusAll(java.util.Collection<?> list)
Remove all the specified elements from this collection
|
static <T> ListX<T> |
narrow(ListX<? extends T> listX)
Narrow a covariant List
|
default ListX<T> |
notNull()
Filter elements retaining only values which are not null
|
static <T> ListX<T> |
of(T... values)
Construct a ListX from the provided values
|
default <U> ListX<U> |
ofType(java.lang.Class<? extends U> type)
Keep only those elements in a stream that are of a given type.
|
default ListX<T> |
onEmpty(T value)
If this Container instance is empty, create a new instance containing the provided value
|
default ListX<T> |
onEmptyGet(java.util.function.Supplier<? extends T> supplier)
If this Container instance is empty, create a new instance containing the value returned from the provided Supplier
|
default ListX<T> |
onEmptySwitch(java.util.function.Supplier<? extends java.util.List<T>> supplier)
Switch to container created by provided Supplier, if current Container empty
|
default <X extends java.lang.Throwable> |
onEmptyThrow(java.util.function.Supplier<? extends X> supplier)
If this container instance is empty, throw the exception returned by the provided Supplier
|
default <R> ListX<R> |
patternMatch(java.util.function.Function<Matchable.CheckValue1<T,R>,Matchable.CheckValue1<T,R>> case1,
java.util.function.Supplier<? extends R> otherwise)
Transform the elements of this Stream with a Pattern Matching case and default value
|
default ListX<T> |
peek(java.util.function.Consumer<? super T> c)
Peek at the current value of this Functor, without transforming it
|
default ListX<ReactiveSeq<T>> |
permutations()
Generate the permutations based on values in the ExtendedTraversable.
|
default ListX<T> |
plus(int i,
T e)
Add the supplied element at the supplied index
|
default ListX<T> |
plus(T e)
Add an element to this Collection
|
default ListX<T> |
plusAll(java.util.Collection<? extends T> list)
Add all supplied elements to this Collection
|
default ListX<T> |
plusAll(int i,
java.util.Collection<? extends T> list)
Add all of the supplied elements at the supplied index
|
default ListX<T> |
plusInOrder(T e)
Add an element to the collection
|
static ListX<java.lang.Integer> |
range(int start,
int end)
Create a ListX that contains the Integers between start and end
|
static ListX<java.lang.Long> |
rangeLong(long start,
long end)
Create a ListX that contains the Longs between start and end
|
default ListX<T> |
removeAll(java.lang.Iterable<? extends T> it)
Remove all elements in the supplied Iterable from this filterable
|
default ListX<T> |
removeAll(org.jooq.lambda.Seq<? extends T> stream)
Remove all elements from this collection that match the values in the provided Seq
|
default ListX<T> |
removeAll(java.util.stream.Stream<? extends T> stream)
Remove all elements in the supplied Stream from this filterable
|
default ListX<T> |
removeAll(T... values)
Remove all supplied elements from this filterable
|
default ListX<T> |
retainAll(java.lang.Iterable<? extends T> it)
Retain only the supplied elements in the returned Filterable
|
default ListX<T> |
retainAll(org.jooq.lambda.Seq<? extends T> stream)
Retain all elements from this collection that match the values in the provided Seq
|
default ListX<T> |
retainAll(java.util.stream.Stream<? extends T> seq)
Retain only the supplied elements in the returned Filterable
|
default ListX<T> |
retainAll(T... values)
Retain only the supplied elements in the returned Filterable
|
default ListX<T> |
reverse()
Potentially efficient Stream reversal.
|
default ListX<T> |
scanLeft(Monoid<T> monoid)
Scan left using supplied Monoid
|
default <U> ListX<U> |
scanLeft(U seed,
java.util.function.BiFunction<? super U,? super T,? extends U> function)
Scan left
|
default ListX<T> |
scanRight(Monoid<T> monoid)
Scan right
|
default <U> ListX<U> |
scanRight(U identity,
java.util.function.BiFunction<? super T,? super U,? extends U> combiner)
Scan right
|
default ListX<T> |
shuffle() |
default ListX<T> |
shuffle(java.util.Random random) |
static <T> ListX<T> |
singleton(T value) |
int |
size() |
default ListX<T> |
skip(long num)
assertThat(ReactiveSeq.of(4,3,6,7).skip(2).toList(),equalTo(Arrays.asList(6,7))); |
default ListX<T> |
skipLast(int num)
assertThat(ReactiveSeq.of(1,2,3,4,5) .skipLast(2)
.collect(Collectors.toList()),equalTo(Arrays.asList(1,2,3)));
|
default ListX<T> |
skipUntil(java.util.function.Predicate<? super T> p)
Drop elements from the Stream until the predicate returns true, after
which all elements are included
|
default ListX<T> |
skipWhile(java.util.function.Predicate<? super T> p)
SkipWhile drops elements from the Stream while the predicate holds, once
the predicte returns true all subsequent elements are included *
|
default ListX<T> |
slice(long from,
long to) |
default ListX<ListX<T>> |
sliding(int windowSize)
Create a sliding view over this Sequence
|
default ListX<ListX<T>> |
sliding(int windowSize,
int increment)
Create a sliding view over this Sequence
|
default ListX<T> |
sorted()
assertThat(ReactiveSeq.of(4,3,6,7)).sorted().toList(),equalTo(Arrays.asList(3,4,6,7))); |
default ListX<T> |
sorted(java.util.Comparator<? super T> c)
assertThat(ReactiveSeq.of(4,3,6,7).sorted((a,b) -> b-a).toList(),equalTo(Arrays.asList(7,6,4,3)));
|
default <U extends java.lang.Comparable<? super U>> |
sorted(java.util.function.Function<? super T,? extends U> function) |
default ReactiveSeq<T> |
stream() |
ListX<T> |
subList(int start,
int end)
Create a sub sequence between the two supplied index
|
default ListX<T> |
takeRight(int num)
Generate a new Traversable that takes the specified number elements from the end of this Traversable
|
default ListX<T> |
takeUntil(java.util.function.Predicate<? super T> p)
Generate a new Traversable that takes elements from this Traversable until the predicate holds
|
default ListX<T> |
takeWhile(java.util.function.Predicate<? super T> p)
Generate a new Traversable that takes elements from this Traversable as long as the predicate holds
|
default ListX<T> |
toListX() |
default <R> ListX<R> |
trampoline(java.util.function.Function<? super T,? extends Trampoline<? extends R>> mapper)
Performs a map operation that can call a recursive method without running out of stack space
|
static <U,T> ListX<T> |
unfold(U seed,
java.util.function.Function<? super U,java.util.Optional<org.jooq.lambda.tuple.Tuple2<T,U>>> unfolder)
Unfold a function into a ListX
|
default <R> ListX<R> |
unit(java.util.Collection<R> col)
Create a new instance of the same colleciton type from the supplied collection
|
default <R> ListX<R> |
unit(R value) |
default <R> ListX<R> |
unitIterator(java.util.Iterator<R> it)
Create an IterableFunctor instance of the same type from an Iterator
|
default ListX<T> |
with(int i,
T element)
Replace the value at the specifed index with the supplied value
|
default <U> ListX<org.jooq.lambda.tuple.Tuple2<T,U>> |
zip(java.lang.Iterable<? extends U> other)
Zip (merge) this collection with the supplied Iterable into a Colleciton containing Tuples
Each Tuple contains one element from this collection and one from the other
|
default <U,R> ListX<R> |
zip(java.lang.Iterable<? extends U> other,
java.util.function.BiFunction<? super T,? super U,? extends R> zipper)
Zip (combine) this Zippable with the supplied Iterable using the supplied combining function
|
default <U> ListX<org.jooq.lambda.tuple.Tuple2<T,U>> |
zip(org.jooq.lambda.Seq<? extends U> other)
Zip (combine) this Zippable with the supplied Seq combining both into a Tuple2
|
default <U,R> ListX<R> |
zip(org.jooq.lambda.Seq<? extends U> other,
java.util.function.BiFunction<? super T,? super U,? extends R> zipper)
Zip (combine) this Zippable with the supplied Seq, using the supplied combining function
|
default <U> ListX<org.jooq.lambda.tuple.Tuple2<T,U>> |
zip(java.util.stream.Stream<? extends U> other)
Zip 2 streams into one
|
default <U,R> ListX<R> |
zip(java.util.stream.Stream<? extends U> other,
java.util.function.BiFunction<? super T,? super U,? extends R> zipper)
Zip (combine) this Zippable with the supplied Stream, using the supplied combining function
|
default <S,U> ListX<org.jooq.lambda.tuple.Tuple3<T,S,U>> |
zip3(java.util.stream.Stream<? extends S> second,
java.util.stream.Stream<? extends U> third)
zip 3 Streams into one
|
default <T2,T3,T4> ListX<org.jooq.lambda.tuple.Tuple4<T,T2,T3,T4>> |
zip4(java.util.stream.Stream<? extends T2> second,
java.util.stream.Stream<? extends T3> third,
java.util.stream.Stream<? extends T4> fourth)
zip 4 Streams into 1
|
default ListX<org.jooq.lambda.tuple.Tuple2<T,java.lang.Long>> |
zipWithIndex()
Add an index to the current Stream
|
add, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, replaceAll, retainAll, set, sort, spliterator, toArray, toArray
reduce
flatMapPublisher, flatMapPublisher, flatMapPublisher, mergePublisher, mergePublisher
endsWith, endsWithIterable, firstValue, foldRight, foldRight, foldRight, foldRightMapToType, get, join, join, join, mapReduce, mapReduce, print, print, printErr, printOut, reduce, reduce, reduce, reduce, reduce, reduce, schedule, scheduleFixedDelay, scheduleFixedRate, startsWith, startsWithIterable, toConcurrentLazyCollection, toConcurrentLazyStreamable, toLazyCollection, validate, xMatch
futureOperations, lazyOperations, subscribe, traversable
seq, toCompletableFuture, toDequeX, toEvalAlways, toEvalLater, toEvalNow, toFutureStream, toFutureStream, toFutureW, toIor, toIorSecondary, toMapX, toMaybe, toOptional, toPBagX, toPMapX, toPOrderedSetX, toPQueueX, toPSetX, toPStackX, toPVectorX, toQueueX, toSetX, toSimpleReact, toSimpleReact, toSortedSetX, toStreamable, toTry, toValue, toValueMap, toValueSet, toXor, toXorSecondary
static ListX<java.lang.Integer> range(int start, int end)
start
- Number of range to start fromend
- Number for range to end atstatic ListX<java.lang.Long> rangeLong(long start, long end)
start
- Number of range to start fromend
- Number for range to end atstatic <U,T> ListX<T> unfold(U seed, java.util.function.Function<? super U,java.util.Optional<org.jooq.lambda.tuple.Tuple2<T,U>>> unfolder)
ListX.unfold(1,i->i<=6 ? Optional.of(Tuple.tuple(i,i+1)) : Optional.empty());
//(1,2,3,4,5)
seed
- Initial valueunfolder
- Iteratively applied function, terminated by an empty Optionalstatic <T> ListX<T> generate(long limit, java.util.function.Supplier<T> s)
limit
- Max number of elements to generates
- Supplier to generate ListX elementsstatic <T> ListX<T> iterate(long limit, T seed, java.util.function.UnaryOperator<T> f)
limit
- Max number of elements to generateseed
- Initial elementf
- Iteratively applied to each element to generate the next elementdefault ListX<T> toListX()
toListX
in interface ConvertableSequence<T>
static <T> java.util.stream.Collector<T,?,ListX<T>> listXCollector()
static <T> java.util.stream.Collector<T,?,java.util.List<T>> defaultCollector()
static <T> java.util.stream.Collector<T,?,java.util.List<T>> immutableCollector()
static <T> ListX<T> empty()
@SafeVarargs static <T> ListX<T> of(T... values)
ListX<Integer> deque = ListX.of(1,2,3,4);
values
- to construct a Deque fromstatic <T> ListX<T> singleton(T value)
static <T> ListX<T> fromPublisher(org.reactivestreams.Publisher<? extends T> publisher)
publisher
- to construct ListX fromstatic <T> ListX<T> fromIterable(java.lang.Iterable<T> it)
static <T> ListX<T> fromIterable(java.util.stream.Collector<T,?,java.util.List<T>> collector, java.lang.Iterable<T> it)
default <R> ListX<R> unit(java.util.Collection<R> col)
FluentCollectionX
unit
in interface FluentCollectionX<T>
col
- Collection data to populate the new collectiondefault <R> ListX<R> unitIterator(java.util.Iterator<R> it)
IterableFunctor
ReactiveSeq<Integer> newSeq = seq.unitIterator(myIterator);
unitIterator
in interface IterableFunctor<T>
it
- Iterator to create new IterableFunctor fromdefault <R> ListX<R> patternMatch(java.util.function.Function<Matchable.CheckValue1<T,R>,Matchable.CheckValue1<T,R>> case1, java.util.function.Supplier<? extends R> otherwise)
Functor
List<String> result = CollectionX.of(1,2,3,4)
.patternMatch(
c->c.valuesWhere(i->"even", (Integer i)->i%2==0 )
)
// CollectionX["odd","even","odd","even"]
patternMatch
in interface CollectionX<T>
patternMatch
in interface Functor<T>
patternMatch
in interface MutableCollectionX<T>
case1
- Function to generate a case (or chain of cases as a single case)otherwise
- Value if supplied case doesn't matchdefault ReactiveSeq<T> stream()
stream
in interface java.util.Collection<T>
stream
in interface CollectionX<T>
stream
in interface ConvertableSequence<T>
stream
in interface ExtendedTraversable<T>
stream
in interface Foldable<T>
stream
in interface IterableFunctor<T>
stream
in interface Sequential<T>
stream
in interface TransformerTraversable<T>
stream
in interface Traversable<T>
<T> java.util.stream.Collector<T,?,java.util.List<T>> getCollector()
default <T1> ListX<T1> from(java.util.Collection<T1> c)
CollectionX
from
in interface CollectionX<T>
c
- Collection to extenddefault <X> ListX<X> fromStream(java.util.stream.Stream<X> stream)
fromStream
in interface MutableCollectionX<T>
stream
- Create a MultableCollectionX from a Streamdefault ListX<T> reverse()
Traversable
assertThat( of(1, 2, 3).reverse().toList(),
equalTo(asList(3, 2, 1)));
reverse
in interface CollectionX<T>
reverse
in interface MutableCollectionX<T>
reverse
in interface Traversable<T>
default ListX<T> combine(java.util.function.BiPredicate<? super T,? super T> predicate, java.util.function.BinaryOperator<T> op)
ListX.of(1,1,2,3)
.combine((a, b)->a.equals(b),Semigroups.intSum)
.toListX()
//ListX(3,4)
combine
in interface CollectionX<T>
combine
in interface MutableCollectionX<T>
combine
in interface Traversable<T>
predicate
- Test to see if two neighbors should be joinedop
- Reducer to combine neighborsdefault ListX<T> filter(java.util.function.Predicate<? super T> pred)
Filterable
of(1,2,3).filter(i->i>2);
//[3]
filter
in interface CollectionX<T>
filter
in interface Filterable<T>
filter
in interface MutableCollectionX<T>
pred
- to filter elements by, retaining matchesdefault <R> ListX<R> map(java.util.function.Function<? super T,? extends R> mapper)
Functor
of(1,2,3).map(i->i*2)
//[2,4,6]
map
in interface CollectionX<T>
map
in interface Functor<T>
map
in interface IterableFunctor<T>
map
in interface MutableCollectionX<T>
mapper
- Transformation functiondefault <R> ListX<R> flatMap(java.util.function.Function<? super T,? extends java.lang.Iterable<? extends R>> mapper)
CollectionX
flatMap
in interface CollectionX<T>
flatMap
in interface MutableCollectionX<T>
mapper
- Transformation function to be applied (and flattened)default ListX<T> limit(long num)
Traversable
assertThat(ReactiveSeq.of(4,3,6,7).limit(2).toList(),equalTo(Arrays.asList(4,3));
limit
in interface CollectionX<T>
limit
in interface MutableCollectionX<T>
limit
in interface Traversable<T>
num
- Limit element size to numdefault ListX<T> skip(long num)
Traversable
assertThat(ReactiveSeq.of(4,3,6,7).skip(2).toList(),equalTo(Arrays.asList(6,7)));
skip
in interface CollectionX<T>
skip
in interface MutableCollectionX<T>
skip
in interface Traversable<T>
num
- Number of elemenets to skipdefault ListX<T> takeRight(int num)
Traversable
ListX.of(1,2,3).takeRight(2);
//[2,3]
takeRight
in interface CollectionX<T>
takeRight
in interface MutableCollectionX<T>
takeRight
in interface Traversable<T>
num
- Take this number of elements from the end of this Traversabledefault ListX<T> dropRight(int num)
Traversable
ListX.of(1,2,3).dropRight(2);
//[1]
dropRight
in interface CollectionX<T>
dropRight
in interface MutableCollectionX<T>
dropRight
in interface Traversable<T>
num
- Drop this number of elements from the end of this Traversabledefault ListX<T> takeWhile(java.util.function.Predicate<? super T> p)
Traversable
ListX.of(1,2,3).takeWhile(i<3);
//[1,2]
takeWhile
in interface CollectionX<T>
takeWhile
in interface MutableCollectionX<T>
takeWhile
in interface Traversable<T>
p
- Predicate to determine when values should be takendefault ListX<T> dropWhile(java.util.function.Predicate<? super T> p)
Traversable
ListX.of(1,2,3).dropWhile(i<3);
//[3]
dropWhile
in interface CollectionX<T>
dropWhile
in interface MutableCollectionX<T>
dropWhile
in interface Traversable<T>
p
- Predicate to determine when values should be droppeddefault ListX<T> takeUntil(java.util.function.Predicate<? super T> p)
Traversable
ListX.of(1,2,3).takeUntil(i<2);
//[1,2]
takeUntil
in interface CollectionX<T>
takeUntil
in interface MutableCollectionX<T>
takeUntil
in interface Traversable<T>
p
- Predicate to determine when values should be taken untildefault ListX<T> dropUntil(java.util.function.Predicate<? super T> p)
Traversable
ListX.of(1,2,3).dropUntil(i>2);
//[3]
dropUntil
in interface CollectionX<T>
dropUntil
in interface MutableCollectionX<T>
dropUntil
in interface Traversable<T>
p
- Predicate to determine when values should be droppeddefault <R> ListX<R> trampoline(java.util.function.Function<? super T,? extends Trampoline<? extends R>> mapper)
Functor
ReactiveSeq.of(10,20,30,40)
.trampoline(i-> fibonacci(i))
.forEach(System.out::println);
Trampoline<Long> fibonacci(int i){
return fibonacci(i,1,0);
}
Trampoline<Long> fibonacci(int n, long a, long b) {
return n == 0 ? Trampoline.done(b) : Trampoline.more( ()->fibonacci(n-1, a+b, a));
}
55
6765
832040
102334155
ReactiveSeq.of(10_000,200_000,3_000_000,40_000_000)
.trampoline(i-> fibonacci(i))
.forEach(System.out::println);
completes successfully
trampoline
in interface CollectionX<T>
trampoline
in interface Functor<T>
trampoline
in interface MutableCollectionX<T>
mapper
- TCO Transformation functiondefault ListX<T> slice(long from, long to)
slice
in interface CollectionX<T>
slice
in interface MutableCollectionX<T>
slice
in interface Traversable<T>
default <U extends java.lang.Comparable<? super U>> ListX<T> sorted(java.util.function.Function<? super T,? extends U> function)
sorted
in interface CollectionX<T>
sorted
in interface MutableCollectionX<T>
sorted
in interface Traversable<T>
default ListX<ListX<T>> grouped(int groupSize)
Traversable
List<List<Integer>> list = ReactiveSeq.of(1, 2, 3, 4, 5, 6).grouped(3).collect(Collectors.toList());
assertThat(list.get(0), hasItems(1, 2, 3));
assertThat(list.get(1), hasItems(4, 5, 6));
grouped
in interface CollectionX<T>
grouped
in interface MutableCollectionX<T>
grouped
in interface Traversable<T>
groupSize
- Size of each Groupdefault <K,A,D> ListX<org.jooq.lambda.tuple.Tuple2<K,D>> grouped(java.util.function.Function<? super T,? extends K> classifier, java.util.stream.Collector<? super T,A,D> downstream)
Traversable
grouped
in interface CollectionX<T>
grouped
in interface MutableCollectionX<T>
grouped
in interface Traversable<T>
classifier
- Grouping functiondownstream
- Collector to create the grouping collectiondefault <K> ListX<org.jooq.lambda.tuple.Tuple2<K,org.jooq.lambda.Seq<T>>> grouped(java.util.function.Function<? super T,? extends K> classifier)
Traversable
grouped
in interface CollectionX<T>
grouped
in interface MutableCollectionX<T>
grouped
in interface Traversable<T>
classifier
- Grouping functiondefault <U> ListX<org.jooq.lambda.tuple.Tuple2<T,U>> zip(java.lang.Iterable<? extends U> other)
CollectionX
zip
in interface CollectionX<T>
zip
in interface MutableCollectionX<T>
zip
in interface Traversable<T>
zip
in interface Zippable<T>
other
- Collection to merge with this onedefault <U,R> ListX<R> zip(java.lang.Iterable<? extends U> other, java.util.function.BiFunction<? super T,? super U,? extends R> zipper)
Zippable
zip
in interface CollectionX<T>
zip
in interface MutableCollectionX<T>
zip
in interface Traversable<T>
zip
in interface Zippable<T>
other
- to zip withzipper
- Zip functiondefault <U,R> ListX<R> zip(org.jooq.lambda.Seq<? extends U> other, java.util.function.BiFunction<? super T,? super U,? extends R> zipper)
Zippable
zip
in interface CollectionX<T>
zip
in interface MutableCollectionX<T>
zip
in interface Traversable<T>
zip
in interface Zippable<T>
other
- Seq to combine withzipper
- Zip / combining functiondefault <U,R> ListX<R> zip(java.util.stream.Stream<? extends U> other, java.util.function.BiFunction<? super T,? super U,? extends R> zipper)
Zippable
zip
in interface CollectionX<T>
zip
in interface MutableCollectionX<T>
zip
in interface Traversable<T>
zip
in interface Zippable<T>
other
- Stream to combine withzipper
- Zip / combining functiondefault ListX<ListX<T>> sliding(int windowSize)
Traversable
List<List<Integer>> list = ReactiveSeq.of(1, 2, 3, 4, 5, 6).sliding(2).collect(Collectors.toList());
assertThat(list.get(0), hasItems(1, 2));
assertThat(list.get(1), hasItems(2, 3));
sliding
in interface CollectionX<T>
sliding
in interface MutableCollectionX<T>
sliding
in interface Traversable<T>
windowSize
- Size of sliding windowdefault ListX<ListX<T>> sliding(int windowSize, int increment)
Traversable
List<List<Integer>> list = ReactiveSeq.of(1, 2, 3, 4, 5, 6).sliding(3, 2).collect(Collectors.toList());
assertThat(list.get(0), hasItems(1, 2, 3));
assertThat(list.get(1), hasItems(3, 4, 5));
sliding
in interface CollectionX<T>
sliding
in interface MutableCollectionX<T>
sliding
in interface Traversable<T>
windowSize
- number of elements in each batchincrement
- for each windowdefault ListX<T> scanLeft(Monoid<T> monoid)
Traversable
assertEquals(asList("", "a", "ab", "abc"),ReactiveSeq.of("a", "b", "c")
.scanLeft(Reducers.toString("")).toList());
scanLeft
in interface CollectionX<T>
scanLeft
in interface MutableCollectionX<T>
scanLeft
in interface Traversable<T>
default <U> ListX<U> scanLeft(U seed, java.util.function.BiFunction<? super U,? super T,? extends U> function)
Traversable
assertThat(of("a", "b", "c").scanLeft("", String::concat).toList().size(),
is(4));
scanLeft
in interface CollectionX<T>
scanLeft
in interface MutableCollectionX<T>
scanLeft
in interface Traversable<T>
default ListX<T> scanRight(Monoid<T> monoid)
Traversable
assertThat(of("a", "b", "c").scanRight(Monoid.of("", String::concat)).toList().size(),
is(asList("", "c", "bc", "abc").size()));
scanRight
in interface CollectionX<T>
scanRight
in interface MutableCollectionX<T>
scanRight
in interface Traversable<T>
default <U> ListX<U> scanRight(U identity, java.util.function.BiFunction<? super T,? super U,? extends U> combiner)
Traversable
assertThat(of("a", "ab", "abc").map(str->str.length()).scanRight(0, (t, u) -> u + t).toList().size(),
is(asList(0, 3, 5, 6).size()));
scanRight
in interface CollectionX<T>
scanRight
in interface MutableCollectionX<T>
scanRight
in interface Traversable<T>
default ListX<T> with(int i, T element)
FluentSequenceX
with
in interface FluentSequenceX<T>
with
in interface MutableSequenceX<T>
i
- Index to replace value atelement
- Value to useListX<T> subList(int start, int end)
FluentSequenceX
subList
in interface FluentSequenceX<T>
subList
in interface java.util.List<T>
subList
in interface MutableSequenceX<T>
start
- Index of our sub sequence (inclusive)end
- Index of our sub sequence (exclusive)default ListX<T> plus(T e)
FluentCollectionX
plus
in interface FluentCollectionX<T>
plus
in interface FluentSequenceX<T>
plus
in interface MutableCollectionX<T>
plus
in interface MutableSequenceX<T>
e
- Element to adddefault ListX<T> plusAll(java.util.Collection<? extends T> list)
FluentCollectionX
plusAll
in interface FluentCollectionX<T>
plusAll
in interface FluentSequenceX<T>
plusAll
in interface MutableCollectionX<T>
plusAll
in interface MutableSequenceX<T>
list
- of elements to adddefault ListX<T> minus(int pos)
FluentSequenceX
minus
in interface FluentSequenceX<T>
minus
in interface MutableSequenceX<T>
pos
- Index at which to remvoe elementdefault ListX<T> minus(java.lang.Object e)
FluentCollectionX
minus
in interface FluentCollectionX<T>
minus
in interface FluentSequenceX<T>
minus
in interface MutableCollectionX<T>
minus
in interface MutableSequenceX<T>
e
- Element to removedefault ListX<T> minusAll(java.util.Collection<?> list)
FluentCollectionX
minusAll
in interface FluentCollectionX<T>
minusAll
in interface FluentSequenceX<T>
minusAll
in interface MutableCollectionX<T>
minusAll
in interface MutableSequenceX<T>
list
- of elements to removedefault ListX<T> plus(int i, T e)
FluentSequenceX
plus
in interface FluentSequenceX<T>
plus
in interface MutableSequenceX<T>
i
- Index to add element ate
- Element to adddefault ListX<T> plusAll(int i, java.util.Collection<? extends T> list)
FluentSequenceX
plusAll
in interface FluentSequenceX<T>
plusAll
in interface MutableSequenceX<T>
i
- Index to add element atlist
- Collection of elements to addint size()
default ListX<T> plusInOrder(T e)
FluentCollectionX
plusInOrder
in interface FluentCollectionX<T>
e
- Element to adddefault ListX<T> peek(java.util.function.Consumer<? super T> c)
Functor
of(1,2,3).map(System.out::println)
1
2
3
default ListX<T> cycle(int times)
Traversable
ReactiveSeq.of(1,2,2)
.cycle(3)
.collect(Collectors.toList());
//List[1,2,2,1,2,2,1,2,2]
cycle
in interface CollectionX<T>
cycle
in interface MutableCollectionX<T>
cycle
in interface Traversable<T>
times
- Times values should be repeated within a Streamdefault ListX<T> cycle(Monoid<T> m, int times)
Traversable
List<Integer> list = ReactiveSeq.of(1,2,2))
.cycle(Reducers.toCountInt(),3)
.collect(Collectors.toList());
//List[3,3,3];
cycle
in interface CollectionX<T>
cycle
in interface MutableCollectionX<T>
cycle
in interface Traversable<T>
m
- Monoid to be used in reductiontimes
- Number of times value should be repeateddefault ListX<T> cycleWhile(java.util.function.Predicate<? super T> predicate)
Traversable
MutableInt count = MutableInt.of(0);
ReactiveSeq.of(1, 2, 2).cycleWhile(next -> count++ < 6).collect(Collectors.toList());
// List(1,2,2,1,2,2)
cycleWhile
in interface CollectionX<T>
cycleWhile
in interface MutableCollectionX<T>
cycleWhile
in interface Traversable<T>
predicate
- repeat while truedefault ListX<T> cycleUntil(java.util.function.Predicate<? super T> predicate)
Traversable
MutableInt count =MutableInt.of(0);
ReactiveSeq.of(1,2,2)
.cycleUntil(next -> count.get()>6)
.peek(i-> count.mutate(i->i+1))
.collect(Collectors.toList());
//List[1,2,2,1,2,2,1]
cycleUntil
in interface CollectionX<T>
cycleUntil
in interface MutableCollectionX<T>
cycleUntil
in interface Traversable<T>
predicate
- repeat while truedefault <U> ListX<org.jooq.lambda.tuple.Tuple2<T,U>> zip(java.util.stream.Stream<? extends U> other)
Traversable
List<Tuple2<Integer, String>> list = of(1, 2).zip(of("a", "b", "c", "d")).toList();
// [[1,"a"],[2,"b"]]
zip
in interface CollectionX<T>
zip
in interface MutableCollectionX<T>
zip
in interface Traversable<T>
zip
in interface Zippable<T>
other
- Stream to combine withdefault <U> ListX<org.jooq.lambda.tuple.Tuple2<T,U>> zip(org.jooq.lambda.Seq<? extends U> other)
Zippable
zip
in interface CollectionX<T>
zip
in interface MutableCollectionX<T>
zip
in interface Traversable<T>
zip
in interface Zippable<T>
other
- Seq to combine withdefault <S,U> ListX<org.jooq.lambda.tuple.Tuple3<T,S,U>> zip3(java.util.stream.Stream<? extends S> second, java.util.stream.Stream<? extends U> third)
Traversable
List<Tuple3<Integer, Integer, Character>> list = of(1, 2, 3, 4, 5, 6).zip3(of(100, 200, 300, 400), of('a', 'b', 'c')).collect(Collectors.toList());
// [[1,100,'a'],[2,200,'b'],[3,300,'c']]
zip3
in interface CollectionX<T>
zip3
in interface MutableCollectionX<T>
zip3
in interface Traversable<T>
default <T2,T3,T4> ListX<org.jooq.lambda.tuple.Tuple4<T,T2,T3,T4>> zip4(java.util.stream.Stream<? extends T2> second, java.util.stream.Stream<? extends T3> third, java.util.stream.Stream<? extends T4> fourth)
Traversable
List<Tuple4<Integer, Integer, Character, String>> list = of(1, 2, 3, 4, 5, 6).zip4(of(100, 200, 300, 400), of('a', 'b', 'c'), of("hello", "world"))
.collect(Collectors.toList());
// [[1,100,'a',"hello"],[2,200,'b',"world"]]
zip4
in interface CollectionX<T>
zip4
in interface MutableCollectionX<T>
zip4
in interface Traversable<T>
default ListX<org.jooq.lambda.tuple.Tuple2<T,java.lang.Long>> zipWithIndex()
Traversable
assertEquals(asList(new Tuple2("a", 0L), new Tuple2("b", 1L)), of("a", "b").zipWithIndex().toList());
zipWithIndex
in interface CollectionX<T>
zipWithIndex
in interface MutableCollectionX<T>
zipWithIndex
in interface Traversable<T>
default ListX<T> sorted()
Traversable
assertThat(ReactiveSeq.of(4,3,6,7)).sorted().toList(),equalTo(Arrays.asList(3,4,6,7)));
sorted
in interface CollectionX<T>
sorted
in interface MutableCollectionX<T>
sorted
in interface Traversable<T>
default ListX<T> sorted(java.util.Comparator<? super T> c)
Traversable
assertThat(ReactiveSeq.of(4,3,6,7).sorted((a,b) -> b-a).toList(),equalTo(Arrays.asList(7,6,4,3)));
sorted
in interface CollectionX<T>
sorted
in interface MutableCollectionX<T>
sorted
in interface Traversable<T>
c
- Compartor to sort withdefault ListX<T> skipWhile(java.util.function.Predicate<? super T> p)
Traversable
assertThat(ReactiveSeq.of(4,3,6,7).sorted().skipWhile(i->i<6).toList(),equalTo(Arrays.asList(6,7)));
skipWhile
in interface CollectionX<T>
skipWhile
in interface MutableCollectionX<T>
skipWhile
in interface Traversable<T>
p
- Predicate to skip while truedefault ListX<T> skipUntil(java.util.function.Predicate<? super T> p)
Traversable
assertThat(ReactiveSeq.of(4,3,6,7).skipUntil(i->i==6).toList(),equalTo(Arrays.asList(6,7)));
skipUntil
in interface CollectionX<T>
skipUntil
in interface MutableCollectionX<T>
skipUntil
in interface Traversable<T>
p
- Predicate to skip until truedefault ListX<T> shuffle()
shuffle
in interface CollectionX<T>
shuffle
in interface MutableCollectionX<T>
shuffle
in interface Traversable<T>
default ListX<T> skipLast(int num)
Traversable
skipLast
in interface CollectionX<T>
skipLast
in interface MutableCollectionX<T>
skipLast
in interface Traversable<T>
default ListX<T> shuffle(java.util.Random random)
shuffle
in interface CollectionX<T>
shuffle
in interface MutableCollectionX<T>
shuffle
in interface Traversable<T>
default ListX<ReactiveSeq<T>> permutations()
ExtendedTraversable
permutations
in interface CollectionX<T>
permutations
in interface ExtendedTraversable<T>
permutations
in interface MutableCollectionX<T>
default ListX<ReactiveSeq<T>> combinations(int size)
ExtendedTraversable
ExtendedTraversable<Integer> stream = ReactiveSeq.of(1,2,3);
stream.combinations(2)
//ReactiveSeq[ReactiveSeq[1,2],ReactiveSeq[1,3],ReactiveSeq[2,3]]
combinations
in interface CollectionX<T>
combinations
in interface ExtendedTraversable<T>
combinations
in interface MutableCollectionX<T>
size
- of combinationsdefault ListX<ReactiveSeq<T>> combinations()
ExtendedTraversable
ReactiveSeq.of(1,2,3).combinations()
//ReactiveSeq[ReactiveSeq[],ReactiveSeq[1],ReactiveSeq[2],ReactiveSeq[3].ReactiveSeq[1,2],ReactiveSeq[1,3],ReactiveSeq[2,3]
,ReactiveSeq[1,2,3]]
combinations
in interface CollectionX<T>
combinations
in interface ExtendedTraversable<T>
combinations
in interface MutableCollectionX<T>
default <U> ListX<U> cast(java.lang.Class<? extends U> type)
Functor
ClassCastException
.
// ClassCastException ReactiveSeq.of(1, "a", 2, "b", 3).cast(Integer.class)cast
in interface CollectionX<T>
cast
in interface Functor<T>
cast
in interface MutableCollectionX<T>
default ListX<T> distinct()
distinct
in interface CollectionX<T>
distinct
in interface MutableCollectionX<T>
distinct
in interface Traversable<T>
default ListX<T> limitWhile(java.util.function.Predicate<? super T> p)
Traversable
assertThat(ReactiveSeq.of(4,3,6,7).sorted().limitWhile(i->i<6).toList(),equalTo(Arrays.asList(3,4)));
limitWhile
in interface CollectionX<T>
limitWhile
in interface MutableCollectionX<T>
limitWhile
in interface Traversable<T>
p
- Limit while predicate is truedefault ListX<T> limitUntil(java.util.function.Predicate<? super T> p)
Traversable
assertThat(ReactiveSeq.of(4,3,6,7).limitUntil(i->i==6).toList(),equalTo(Arrays.asList(4,3)));
limitUntil
in interface CollectionX<T>
limitUntil
in interface MutableCollectionX<T>
limitUntil
in interface Traversable<T>
p
- Limit until predicate is truedefault ListX<T> intersperse(T value)
Traversable
intersperse
in interface CollectionX<T>
intersperse
in interface MutableCollectionX<T>
intersperse
in interface Traversable<T>
default ListX<T> limitLast(int num)
Traversable
assertThat(ReactiveSeq.of(1,2,3,4,5)
.limitLast(2)
.collect(Collectors.toList()),equalTo(Arrays.asList(4,5)));
limitLast
in interface CollectionX<T>
limitLast
in interface MutableCollectionX<T>
limitLast
in interface Traversable<T>
num
- of elements to return (last elements)default ListX<T> onEmpty(T value)
OnEmpty
onEmpty
in interface CollectionX<T>
onEmpty
in interface MutableCollectionX<T>
onEmpty
in interface OnEmpty<T>
onEmpty
in interface Traversable<T>
default ListX<T> onEmptyGet(java.util.function.Supplier<? extends T> supplier)
OnEmpty
onEmptyGet
in interface CollectionX<T>
onEmptyGet
in interface MutableCollectionX<T>
onEmptyGet
in interface OnEmpty<T>
onEmptyGet
in interface Traversable<T>
supplier
- to determine new value for containerdefault <X extends java.lang.Throwable> ListX<T> onEmptyThrow(java.util.function.Supplier<? extends X> supplier)
OnEmpty
onEmptyThrow
in interface CollectionX<T>
onEmptyThrow
in interface MutableCollectionX<T>
onEmptyThrow
in interface OnEmpty<T>
onEmptyThrow
in interface Traversable<T>
supplier
- to create exception fromdefault <U> ListX<U> ofType(java.lang.Class<? extends U> type)
Filterable
// (1, 2, 3) ReactiveSeq.of(1, "a", 2, "b",3).ofType(Integer.class)
ofType
in interface Filterable<T>
ofType
in interface MutableCollectionX<T>
default ListX<T> filterNot(java.util.function.Predicate<? super T> fn)
Filterable
of(1,2,3).filter(i->i>2);
//[1,2]
filterNot
in interface CollectionX<T>
filterNot
in interface Filterable<T>
filterNot
in interface MutableCollectionX<T>
fn
- to filter elements by, retaining matchesdefault ListX<T> notNull()
Filterable
of(1,2,null,4).nonNull();
//[1,2,4]
notNull
in interface CollectionX<T>
notNull
in interface Filterable<T>
notNull
in interface MutableCollectionX<T>
default ListX<T> removeAll(java.util.stream.Stream<? extends T> stream)
IterableFilterable
removeAll
in interface CollectionX<T>
removeAll
in interface IterableFilterable<T>
removeAll
in interface MutableCollectionX<T>
stream
- of elements to removedefault ListX<T> removeAll(java.lang.Iterable<? extends T> it)
IterableFilterable
removeAll
in interface CollectionX<T>
removeAll
in interface IterableFilterable<T>
removeAll
in interface MutableCollectionX<T>
it
- an Iterable of elements to removedefault ListX<T> removeAll(T... values)
IterableFilterable
removeAll
in interface CollectionX<T>
removeAll
in interface IterableFilterable<T>
removeAll
in interface MutableCollectionX<T>
values
- to removedefault ListX<T> retainAll(java.lang.Iterable<? extends T> it)
IterableFilterable
retainAll
in interface CollectionX<T>
retainAll
in interface IterableFilterable<T>
retainAll
in interface MutableCollectionX<T>
it
- Iterable of elements to retaindefault ListX<T> retainAll(java.util.stream.Stream<? extends T> seq)
IterableFilterable
retainAll
in interface CollectionX<T>
retainAll
in interface IterableFilterable<T>
retainAll
in interface MutableCollectionX<T>
seq
- of elements to retaindefault ListX<T> retainAll(T... values)
IterableFilterable
retainAll
in interface CollectionX<T>
retainAll
in interface IterableFilterable<T>
retainAll
in interface MutableCollectionX<T>
values
- elements to retaindefault <C extends java.util.Collection<? super T>> ListX<C> grouped(int size, java.util.function.Supplier<C> supplier)
Traversable
assertThat(ReactiveSeq.of(1,1,1,1,1,1)
.batchBySize(3,()->new TreeSet<>())
.toList()
.get(0)
.size(),is(1));
grouped
in interface CollectionX<T>
grouped
in interface MutableCollectionX<T>
grouped
in interface Traversable<T>
size
- batch sizesupplier
- Collection factorydefault ListX<ListX<T>> groupedUntil(java.util.function.Predicate<? super T> predicate)
Traversable
assertThat(ReactiveSeq.of(1,2,3,4,5,6)
.groupedUntil(i->i%3==0)
.toList()
.size(),equalTo(2));
groupedUntil
in interface CollectionX<T>
groupedUntil
in interface MutableCollectionX<T>
groupedUntil
in interface Traversable<T>
predicate
- Batch until predicate holds, then open next batchdefault ListX<ListX<T>> groupedWhile(java.util.function.Predicate<? super T> predicate)
Traversable
assertThat(ReactiveSeq.of(1,2,3,4,5,6)
.groupedWhile(i->i%3!=0)
.toList().size(),equalTo(2));
groupedWhile
in interface CollectionX<T>
groupedWhile
in interface MutableCollectionX<T>
groupedWhile
in interface Traversable<T>
predicate
- Batch while predicate holds, then open next batchdefault <C extends java.util.Collection<? super T>> ListX<C> groupedWhile(java.util.function.Predicate<? super T> predicate, java.util.function.Supplier<C> factory)
Traversable
assertThat(ReactiveSeq.of(1,2,3,4,5,6)
.batchWhile(i->i%3!=0)
.toList()
.size(),equalTo(2));
groupedWhile
in interface CollectionX<T>
groupedWhile
in interface MutableCollectionX<T>
groupedWhile
in interface Traversable<T>
predicate
- Batch while predicate holds, then open next batchfactory
- Collection factorydefault <C extends java.util.Collection<? super T>> ListX<C> groupedUntil(java.util.function.Predicate<? super T> predicate, java.util.function.Supplier<C> factory)
Traversable
ReactiveSeq.of(1,2,3,4,5,6)
.groupedUntil(i->i%3!=0)
.toList()
//2
groupedUntil
in interface CollectionX<T>
groupedUntil
in interface MutableCollectionX<T>
groupedUntil
in interface Traversable<T>
predicate
- Batch until predicate holds, then open next batchfactory
- Collection factorydefault ListX<ListX<T>> groupedStatefullyUntil(java.util.function.BiPredicate<ListX<? super T>,? super T> predicate)
Traversable
assertThat(ReactiveSeq.of(1,2,3,4,5,6)
.groupedStatefullyUntil((s,i)->s.contains(4) ? true : false)
.toList().size(),equalTo(5));
groupedStatefullyUntil
in interface CollectionX<T>
groupedStatefullyUntil
in interface MutableCollectionX<T>
groupedStatefullyUntil
in interface Traversable<T>
predicate
- Window while truedefault ListX<T> removeAll(org.jooq.lambda.Seq<? extends T> stream)
CollectionX
removeAll
in interface CollectionX<T>
removeAll
in interface MutableCollectionX<T>
stream
- Stream of values to removedefault ListX<T> retainAll(org.jooq.lambda.Seq<? extends T> stream)
CollectionX
retainAll
in interface CollectionX<T>
retainAll
in interface MutableCollectionX<T>
stream
- Stream of values to retaindefault ListX<T> onEmptySwitch(java.util.function.Supplier<? extends java.util.List<T>> supplier)
OnEmptySwitch
ListX.empty().onEmptySwitch(()->ListX.of(1));
onEmptySwitch
in interface OnEmptySwitch<T,java.util.List<T>>
supplier
- to create replacement container