public interface PMapX<K,V> extends org.pcollections.PMap<K,V>, FluentMapX<K,V>, BiFunctor<K,V>, Functor<V>, IterableFilterable<org.jooq.lambda.tuple.Tuple2<K,V>>, ExtendedTraversable<org.jooq.lambda.tuple.Tuple2<K,V>>, Foldable<org.jooq.lambda.tuple.Tuple2<K,V>>, CyclopsCollectable<org.jooq.lambda.tuple.Tuple2<K,V>>
Modifier and Type | Method and Description |
---|---|
default <U1,U2> PMapX<U1,U2> |
bicast(java.lang.Class<U1> type1,
java.lang.Class<U2> type2)
Cast all elements in a stream to a given type, possibly throwing a
ClassCastException . |
default <R1,R2> PMapX<R1,R2> |
bimap(java.util.function.Function<? super K,? extends R1> fn1,
java.util.function.Function<? super V,? extends R2> fn2) |
default PMapX<K,V> |
bipeek(java.util.function.Consumer<? super K> c1,
java.util.function.Consumer<? super V> c2) |
default <R1,R2> PMapX<R1,R2> |
bitrampoline(java.util.function.Function<? super K,? extends Trampoline<? extends R1>> mapper1,
java.util.function.Function<? super V,? extends Trampoline<? extends R2>> mapper2)
Performs a map operation that can call a recursive method without running out of stack space
|
default <U> PMapX<K,U> |
cast(java.lang.Class<? extends U> type)
Cast all elements in a stream to a given type, possibly throwing a
ClassCastException . |
default org.jooq.lambda.Collectable<org.jooq.lambda.tuple.Tuple2<K,V>> |
collectable()
Narrow this class to a Collectable
|
static <K,V> PMapX<K,V> |
empty() |
default PMapX<K,V> |
filter(java.util.function.Predicate<? super org.jooq.lambda.tuple.Tuple2<K,V>> fn)
Keep only elements for which the supplied predicates hold
e.g.
|
default PMapX<K,V> |
filterNot(java.util.function.Predicate<? super org.jooq.lambda.tuple.Tuple2<K,V>> fn)
Remove any elements for which the predicate holds (inverse operation to filter)
e.g.
|
static <K,V> PMapX<K,V> |
fromMap(java.util.Map<? extends K,? extends V> map) |
default java.util.Iterator<org.jooq.lambda.tuple.Tuple2<K,V>> |
iterator() |
default <R> PMapX<K,R> |
map(java.util.function.Function<? super V,? extends R> fn)
Transform this functor using the supplied transformation function
|
PMapX<K,V> |
minus(java.lang.Object key) |
PMapX<K,V> |
minusAll(java.util.Collection<?> keys) |
default PMapX<K,V> |
notNull()
Filter elements retaining only values which are not null
|
default PMapX<K,V> |
peek(java.util.function.Consumer<? super V> c)
Peek at the current value of this Functor, without transforming it
|
PMapX<K,V> |
plus(K key,
V value) |
PMapX<K,V> |
plusAll(java.util.Map<? extends K,? extends V> map) |
default PMapX<K,V> |
removeAll(java.lang.Iterable<? extends org.jooq.lambda.tuple.Tuple2<K,V>> it)
Remove all elements in the supplied Iterable from this filterable
|
default PMapX<K,V> |
removeAll(java.util.stream.Stream<? extends org.jooq.lambda.tuple.Tuple2<K,V>> stream)
Remove all elements in the supplied Stream from this filterable
|
default PMapX<K,V> |
removeAll(org.jooq.lambda.tuple.Tuple2<K,V>... values)
Remove all supplied elements from this filterable
|
default PMapX<K,V> |
retainAll(java.lang.Iterable<? extends org.jooq.lambda.tuple.Tuple2<K,V>> it)
Retain only the supplied elements in the returned Filterable
|
default PMapX<K,V> |
retainAll(java.util.stream.Stream<? extends org.jooq.lambda.tuple.Tuple2<K,V>> stream)
Retain only the supplied elements in the returned Filterable
|
default PMapX<K,V> |
retainAll(org.jooq.lambda.tuple.Tuple2<K,V>... values)
Retain only the supplied elements in the returned Filterable
|
static <K,V> PMapX<K,V> |
singleton(K key,
V value) |
default ReactiveSeq<org.jooq.lambda.tuple.Tuple2<K,V>> |
stream() |
default <R> PMapX<K,R> |
trampoline(java.util.function.Function<? super V,? extends Trampoline<? extends R>> mapper)
Performs a map operation that can call a recursive method without running out of stack space
|
compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, putIfAbsent, remove, replace, replace, replaceAll, size, values
patternMatch
ofType
combinations, combinations, permutations
combine, cycle, cycle, cycleUntil, cycleWhile, distinct, dropRight, dropUntil, dropWhile, futureOperations, grouped, grouped, grouped, grouped, groupedStatefullyWhile, groupedUntil, groupedUntil, groupedWhile, groupedWhile, intersperse, lazyOperations, limit, limitLast, limitUntil, limitWhile, onEmpty, onEmptyGet, onEmptyThrow, reverse, scanLeft, scanLeft, scanRight, scanRight, shuffle, shuffle, skip, skipLast, skipUntil, skipWhile, slice, sliding, sliding, sorted, sorted, sorted, subscribe, takeRight, takeUntil, takeWhile, traversable, zip, zip, zip, zip, zip, zip, zip3, zip4, zipWithIndex
groupedStatefullyWhileT, groupedT, groupedUntilT, groupedWhileT, slidingT, slidingT
endsWith, endsWithIterable, findAny, findFirst, firstValue, foldable, foldRight, foldRight, foldRight, foldRightMapToType, get, groupBy, join, join, join, mapReduce, mapReduce, print, print, printErr, printOut, reduce, reduce, reduce, reduce, reduce, reduce, reduce, schedule, scheduleFixedDelay, scheduleFixedRate, single, single, singleOptional, startsWith, startsWithIterable, toConcurrentLazyCollection, toConcurrentLazyStreamable, toLazyCollection, validate, xMatch
seq, toCompletableFuture, toDequeX, toEvalAlways, toEvalLater, toEvalNow, toFutureStream, toFutureStream, toFutureW, toIor, toIorSecondary, toListX, toMapX, toMaybe, toOptional, toPBagX, toPMapX, toPOrderedSetX, toPQueueX, toPSetX, toPStackX, toPVectorX, toQueueX, toSetX, toSimpleReact, toSimpleReact, toSortedSetX, toStreamable, toTry, toValue, toValueMap, toValueSet, toXor, toXorSecondary
allMatch, anyMatch, avg, avg, avgDouble, avgInt, avgLong, bitAnd, bitAnd, bitAndInt, bitAndLong, bitOr, bitOr, bitOrInt, bitOrLong, collect, commonPrefix, commonSuffix, count, count, countDistinct, countDistinct, countDistinctBy, countDistinctBy, max, max, max, max, maxAll, maxAll, maxAll, maxAll, maxAllBy, maxAllBy, maxBy, maxBy, median, median, medianBy, medianBy, min, min, min, min, minAll, minAll, minAll, minAll, minAllBy, minAllBy, minBy, minBy, mode, modeAll, modeAllBy, modeBy, noneMatch, percentile, percentile, percentileBy, percentileBy, sum, sum, sumDouble, sumInt, sumLong, toCollection, toList, toList, toMap, toMap, toSet, toSet, toString, toString
static <K,V> PMapX<K,V> empty()
static <K,V> PMapX<K,V> singleton(K key, V value)
static <K,V> PMapX<K,V> fromMap(java.util.Map<? extends K,? extends V> map)
default org.jooq.lambda.Collectable<org.jooq.lambda.tuple.Tuple2<K,V>> collectable()
CyclopsCollectable
collectable
in interface CyclopsCollectable<org.jooq.lambda.tuple.Tuple2<K,V>>
default ReactiveSeq<org.jooq.lambda.tuple.Tuple2<K,V>> stream()
stream
in interface ConvertableSequence<org.jooq.lambda.tuple.Tuple2<K,V>>
stream
in interface ExtendedTraversable<org.jooq.lambda.tuple.Tuple2<K,V>>
stream
in interface Foldable<org.jooq.lambda.tuple.Tuple2<K,V>>
stream
in interface TransformerTraversable<org.jooq.lambda.tuple.Tuple2<K,V>>
stream
in interface Traversable<org.jooq.lambda.tuple.Tuple2<K,V>>
default <R> PMapX<K,R> map(java.util.function.Function<? super V,? extends R> fn)
Functor
of(1,2,3).map(i->i*2)
//[2,4,6]
default <R1,R2> PMapX<R1,R2> bimap(java.util.function.Function<? super K,? extends R1> fn1, java.util.function.Function<? super V,? extends R2> fn2)
default PMapX<K,V> bipeek(java.util.function.Consumer<? super K> c1, java.util.function.Consumer<? super V> c2)
default <U1,U2> PMapX<U1,U2> bicast(java.lang.Class<U1> type1, java.lang.Class<U2> type2)
BiFunctor
ClassCastException
.
// ClassCastException ReactiveSeq.of(1, "a", 2, "b", 3).cast(Integer.class)default <R1,R2> PMapX<R1,R2> bitrampoline(java.util.function.Function<? super K,? extends Trampoline<? extends R1>> mapper1, java.util.function.Function<? super V,? extends Trampoline<? extends R2>> mapper2)
BiFunctor
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
bitrampoline
in interface BiFunctor<K,V>
default <U> PMapX<K,U> cast(java.lang.Class<? extends U> type)
Functor
ClassCastException
.
// ClassCastException ReactiveSeq.of(1, "a", 2, "b", 3).cast(Integer.class)default PMapX<K,V> peek(java.util.function.Consumer<? super V> c)
Functor
of(1,2,3).map(System.out::println)
1
2
3
default <R> PMapX<K,R> trampoline(java.util.function.Function<? super V,? 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 Functor<V>
default PMapX<K,V> filter(java.util.function.Predicate<? super org.jooq.lambda.tuple.Tuple2<K,V>> fn)
Filterable
of(1,2,3).filter(i->i>2);
//[3]
filter
in interface Filterable<org.jooq.lambda.tuple.Tuple2<K,V>>
fn
- to filter elements by, retaining matchesdefault PMapX<K,V> filterNot(java.util.function.Predicate<? super org.jooq.lambda.tuple.Tuple2<K,V>> fn)
Filterable
of(1,2,3).filter(i->i>2);
//[1,2]
filterNot
in interface Filterable<org.jooq.lambda.tuple.Tuple2<K,V>>
fn
- to filter elements by, retaining matchesdefault PMapX<K,V> notNull()
Filterable
of(1,2,null,4).nonNull();
//[1,2,4]
notNull
in interface Filterable<org.jooq.lambda.tuple.Tuple2<K,V>>
default PMapX<K,V> removeAll(java.util.stream.Stream<? extends org.jooq.lambda.tuple.Tuple2<K,V>> stream)
IterableFilterable
removeAll
in interface IterableFilterable<org.jooq.lambda.tuple.Tuple2<K,V>>
stream
- of elements to removedefault PMapX<K,V> removeAll(java.lang.Iterable<? extends org.jooq.lambda.tuple.Tuple2<K,V>> it)
IterableFilterable
removeAll
in interface IterableFilterable<org.jooq.lambda.tuple.Tuple2<K,V>>
it
- an Iterable of elements to removedefault PMapX<K,V> removeAll(org.jooq.lambda.tuple.Tuple2<K,V>... values)
IterableFilterable
removeAll
in interface IterableFilterable<org.jooq.lambda.tuple.Tuple2<K,V>>
values
- to removedefault PMapX<K,V> retainAll(java.lang.Iterable<? extends org.jooq.lambda.tuple.Tuple2<K,V>> it)
IterableFilterable
retainAll
in interface IterableFilterable<org.jooq.lambda.tuple.Tuple2<K,V>>
it
- Iterable of elements to retaindefault PMapX<K,V> retainAll(java.util.stream.Stream<? extends org.jooq.lambda.tuple.Tuple2<K,V>> stream)
IterableFilterable
retainAll
in interface IterableFilterable<org.jooq.lambda.tuple.Tuple2<K,V>>
stream
- of elements to retaindefault PMapX<K,V> retainAll(org.jooq.lambda.tuple.Tuple2<K,V>... values)
IterableFilterable
retainAll
in interface IterableFilterable<org.jooq.lambda.tuple.Tuple2<K,V>>
values
- elements to retain