public interface PersistentMapX<K,V> extends To<PersistentMapX<K,V>>, org.pcollections.PMap<K,V>, Unwrapable, FluentMapX<K,V>, BiTransformable<K,V>, Transformable<V>, IterableFilterable<org.jooq.lambda.tuple.Tuple2<K,V>>, OnEmpty<org.jooq.lambda.tuple.Tuple2<K,V>>, OnEmptySwitch<org.jooq.lambda.tuple.Tuple2<K,V>,org.pcollections.PMap<K,V>>, org.reactivestreams.Publisher<org.jooq.lambda.tuple.Tuple2<K,V>>, Folds<org.jooq.lambda.tuple.Tuple2<K,V>>, CyclopsCollectable<org.jooq.lambda.tuple.Tuple2<K,V>>
| Modifier and Type | Method and Description |
|---|---|
default <U1,U2> PersistentMapX<U1,U2> |
bicast(java.lang.Class<U1> type1,
java.lang.Class<U2> type2)
Cast two data types simulatanously.
|
default <R1,R2> PersistentMapX<R1,R2> |
bimap(java.util.function.Function<? super K,? extends R1> fn1,
java.util.function.Function<? super V,? extends R2> fn2)
Transform this BiTransformable, changing two value types at once.
|
default PersistentMapX<K,V> |
bipeek(java.util.function.Consumer<? super K> c1,
java.util.function.Consumer<? super V> c2)
Peek at two data types simulatanously (typically to perform a side-effect with each data point)
|
default <R1,R2> PersistentMapX<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)
Perform a tail-call optimized recursive transformation operation across two data points simultaneously
|
default <U> PersistentMapX<K,U> |
cast(java.lang.Class<? extends U> type)
Cast all elements in a reactiveStream to a given type, possibly throwing a
ClassCastException. |
static <K,V> PersistentMapX<K,V> |
empty() |
default PersistentMapX<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 PersistentMapX<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> PersistentMapX<K,V> |
fromMap(java.util.Map<? extends K,? extends V> map) |
default PersistentMapX<K,V> |
fromStream(ReactiveSeq<org.jooq.lambda.tuple.Tuple2<K,V>> stream) |
boolean |
isEmpty() |
default java.util.Iterator<org.jooq.lambda.tuple.Tuple2<K,V>> |
iterator() |
default <R> PersistentMapX<K,R> |
map(java.util.function.Function<? super V,? extends R> fn)
Transform this functor using the supplied transformation function
|
PersistentMapX<K,V> |
minus(java.lang.Object key) |
PersistentMapX<K,V> |
minusAll(java.util.Collection<?> keys) |
default PersistentMapX<K,V> |
notNull()
Filter elements retaining only values which are not null
|
default PersistentMapX<K,V> |
onEmpty(org.jooq.lambda.tuple.Tuple2<K,V> value)
If this Container instance is zero, create a new instance containing the provided value
|
default PersistentMapX<K,V> |
onEmptyGet(java.util.function.Supplier<? extends org.jooq.lambda.tuple.Tuple2<K,V>> supplier)
If this Container instance is zero, create a new instance containing the value returned from the provided Supplier
|
default PersistentMapX<K,V> |
onEmptySwitch(java.util.function.Supplier<? extends org.pcollections.PMap<K,V>> supplier)
Switch to container created by provided Supplier, if current Container zero
|
default <X extends java.lang.Throwable> |
onEmptyThrow(java.util.function.Supplier<? extends X> supplier)
If this container instance is zero, throw the exception returned by the provided Supplier
|
default PersistentMapX<K,V> |
peek(java.util.function.Consumer<? super V> c)
Peek at the current value of this Transformable, without transforming it
|
PersistentMapX<K,V> |
plus(K key,
V value) |
PersistentMapX<K,V> |
plusAll(java.util.Map<? extends K,? extends V> map) |
default PersistentMapX<K,V> |
removeAll(org.jooq.lambda.tuple.Tuple2<K,V>... values)
Remove all supplied elements from this filterable
|
default PersistentMapX<K,V> |
removeAllI(java.lang.Iterable<? extends org.jooq.lambda.tuple.Tuple2<K,V>> it)
Remove all elements in the supplied Iterable from this filterable
|
default PersistentMapX<K,V> |
removeAllS(java.util.stream.Stream<? extends org.jooq.lambda.tuple.Tuple2<K,V>> stream)
Remove all elements in the supplied Stream from this filterable
|
default PersistentMapX<K,V> |
retainAll(org.jooq.lambda.tuple.Tuple2<K,V>... values)
Retain only the supplied elements in the returned Filters
|
default PersistentMapX<K,V> |
retainAllI(java.lang.Iterable<? extends org.jooq.lambda.tuple.Tuple2<K,V>> it)
Retain only the supplied elements in the returned Filters
|
default PersistentMapX<K,V> |
retainAllS(java.util.stream.Stream<? extends org.jooq.lambda.tuple.Tuple2<K,V>> stream)
Retain only the supplied elements in the returned Filters
|
static <K,V> PersistentMapX<K,V> |
singleton(K key,
V value) |
default ReactiveSeq<org.jooq.lambda.tuple.Tuple2<K,V>> |
stream() |
default void |
subscribe(org.reactivestreams.Subscriber<? super org.jooq.lambda.tuple.Tuple2<K,V>> s) |
default <T> BagX<T> |
toBagX(java.util.function.Function<? super org.jooq.lambda.tuple.Tuple2<? super K,? super V>,? extends T> fn)
Convert this MapX to a BagX via the provided transformation function
|
default <T> LinkedListX<T> |
toLinkedListX(java.util.function.Function<? super org.jooq.lambda.tuple.Tuple2<? super K,? super V>,? extends T> fn)
Convert this MapX to a LinkedListX via the provided transformation function
|
default <T> ListX<T> |
toListX(java.util.function.Function<? super org.jooq.lambda.tuple.Tuple2<? super K,? super V>,? extends T> fn)
Convert this MapX to a ListX via the provided transformation function
|
default <T> OrderedSetX<T> |
toOrderedSetX(java.util.function.Function<? super org.jooq.lambda.tuple.Tuple2<? super K,? super V>,? extends T> fn)
Convert this MapX to a POrderdSetX via the provided transformation function
|
default <T> PersistentQueueX<T> |
toPersistentQueueX(java.util.function.Function<? super org.jooq.lambda.tuple.Tuple2<? super K,? super V>,? extends T> fn)
Convert this MapX to a QueueX via the provided transformation function
|
default <T> PersistentSetX<T> |
toPersistentSetX(java.util.function.Function<? super org.jooq.lambda.tuple.Tuple2<? super K,? super V>,? extends T> fn)
Convert this MapX to a PersistentSetX via the provided transformation function
|
default <T> VectorX<T> |
toVectorX(java.util.function.Function<? super org.jooq.lambda.tuple.Tuple2<? super K,? super V>,? extends T> fn)
Convert this MapX to a VectorX via the provided transformation function
|
default <R> PersistentMapX<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
|
unwrap, unwrapIfInstance, unwrapNestedcompute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, keySet, merge, putIfAbsent, remove, replace, replace, replaceAll, size, valuesretry, retryallMatch, anyMatch, collect, collectors, commonPrefix, commonSuffix, count, count, countDistinct, countDistinct, countDistinctBy, countDistinctBy, max, maxBy, min, minBy, mode, noneMatch, sum, sumDouble, sumInt, sumLong, to, toList, toMap, toMap, toSet, toString, toStringendsWith, endsWithIterable, findAny, findFirst, firstValue, foldLeft, foldLeft, foldLeft, foldLeft, 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, singleUnsafe, startsWith, startsWithIterable, takeOne, xMatchforEach, forEach, forEach, forEach, forEach, forEachSubscribe, forEachSubscribe, forEachSubscribestatic <K,V> PersistentMapX<K,V> empty()
static <K,V> PersistentMapX<K,V> singleton(K key, V value)
static <K,V> PersistentMapX<K,V> fromMap(java.util.Map<? extends K,? extends V> map)
default PersistentMapX<K,V> fromStream(ReactiveSeq<org.jooq.lambda.tuple.Tuple2<K,V>> stream)
PersistentMapX<K,V> plus(K key, V value)
PersistentMapX<K,V> plusAll(java.util.Map<? extends K,? extends V> map)
PersistentMapX<K,V> minus(java.lang.Object key)
PersistentMapX<K,V> minusAll(java.util.Collection<?> keys)
default ReactiveSeq<org.jooq.lambda.tuple.Tuple2<K,V>> stream()
default <R> PersistentMapX<K,R> map(java.util.function.Function<? super V,? extends R> fn)
Transformable
of(1,2,3).map(i->i*2)
//[2,4,6]
map in interface Transformable<V>fn - Transformation functiondefault <R1,R2> PersistentMapX<R1,R2> bimap(java.util.function.Function<? super K,? extends R1> fn1, java.util.function.Function<? super V,? extends R2> fn2)
BiTransformable
MapX<String,Integer> map = MapXs.of("hello",2);
MapX<String,Integer> transformedMap = map.bimap(s->s+" world",i->i*4);
//["hello world",8]
bimap in interface BiTransformable<K,V>fn1 - transformation function for the first typefn2 - transformation function for the second typedefault PersistentMapX<K,V> bipeek(java.util.function.Consumer<? super K> c1, java.util.function.Consumer<? super V> c2)
BiTransformable
MapX<String,Integer> map = MapXs.of("hello",2);
map.bipeek(s->System.out.pritnln("key = " + s),System.out::println);
bipeek in interface BiTransformable<K,V>c1 - consumer for the first typec2 - consumer for the second typedefault <U1,U2> PersistentMapX<U1,U2> bicast(java.lang.Class<U1> type1, java.lang.Class<U2> type2)
BiTransformable
MapX<Animal,Food> map = MapXs.of(cow,grass);
MapX<Mamaml,Vegitation> herbervoreMammals = map.bicast(Mammal.class,Vegitation.class);
bicast in interface BiTransformable<K,V>default <R1,R2> PersistentMapX<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)
BiTransformablebitrampoline in interface BiTransformable<K,V>mapper1 - transformation function for the first typemapper2 - transformation function for the second typedefault <U> PersistentMapX<K,U> cast(java.lang.Class<? extends U> type)
TransformableClassCastException.
// ClassCastException ReactiveSeq.of(1, "a", 2, "b", 3).cast(Integer.class)cast in interface Transformable<V>default PersistentMapX<K,V> peek(java.util.function.Consumer<? super V> c)
Transformable
of(1,2,3).map(System.out::println)
1
2
3
peek in interface Transformable<V>c - Consumer that recieves each element from this Transformabledefault <R> PersistentMapX<K,R> trampoline(java.util.function.Function<? super V,? extends Trampoline<? extends R>> mapper)
Transformable
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 Transformable<V>mapper - TCO Transformation functiondefault PersistentMapX<K,V> filter(java.util.function.Predicate<? super org.jooq.lambda.tuple.Tuple2<K,V>> fn)
Filters
of(1,2,3).filter(i->i>2);
//[3]
default PersistentMapX<K,V> filterNot(java.util.function.Predicate<? super org.jooq.lambda.tuple.Tuple2<K,V>> fn)
Filters
of(1,2,3).filter(i->i>2);
//[1,2]
default PersistentMapX<K,V> notNull()
Filters
of(1,2,null,4).nonNull();
//[1,2,4]
default PersistentMapX<K,V> removeAllS(java.util.stream.Stream<? extends org.jooq.lambda.tuple.Tuple2<K,V>> stream)
IterableFilterableremoveAllS in interface IterableFilterable<org.jooq.lambda.tuple.Tuple2<K,V>>stream - of elements to removedefault PersistentMapX<K,V> removeAllI(java.lang.Iterable<? extends org.jooq.lambda.tuple.Tuple2<K,V>> it)
IterableFilterableremoveAllI in interface IterableFilterable<org.jooq.lambda.tuple.Tuple2<K,V>>it - an Iterable of elements to removedefault PersistentMapX<K,V> removeAll(org.jooq.lambda.tuple.Tuple2<K,V>... values)
IterableFilterableremoveAll in interface IterableFilterable<org.jooq.lambda.tuple.Tuple2<K,V>>values - to removedefault PersistentMapX<K,V> retainAllI(java.lang.Iterable<? extends org.jooq.lambda.tuple.Tuple2<K,V>> it)
IterableFilterableretainAllI in interface IterableFilterable<org.jooq.lambda.tuple.Tuple2<K,V>>it - Iterable of elements to retaindefault PersistentMapX<K,V> retainAllS(java.util.stream.Stream<? extends org.jooq.lambda.tuple.Tuple2<K,V>> stream)
IterableFilterableretainAllS in interface IterableFilterable<org.jooq.lambda.tuple.Tuple2<K,V>>stream - of elements to retaindefault PersistentMapX<K,V> retainAll(org.jooq.lambda.tuple.Tuple2<K,V>... values)
IterableFilterableretainAll in interface IterableFilterable<org.jooq.lambda.tuple.Tuple2<K,V>>values - elements to retaindefault void subscribe(org.reactivestreams.Subscriber<? super org.jooq.lambda.tuple.Tuple2<K,V>> s)
default PersistentMapX<K,V> onEmpty(org.jooq.lambda.tuple.Tuple2<K,V> value)
OnEmptydefault PersistentMapX<K,V> onEmptyGet(java.util.function.Supplier<? extends org.jooq.lambda.tuple.Tuple2<K,V>> supplier)
OnEmptyonEmptyGet in interface OnEmpty<org.jooq.lambda.tuple.Tuple2<K,V>>supplier - to determine new value for containerdefault <X extends java.lang.Throwable> PersistentMapX<K,V> onEmptyThrow(java.util.function.Supplier<? extends X> supplier)
OnEmptyonEmptyThrow in interface OnEmpty<org.jooq.lambda.tuple.Tuple2<K,V>>supplier - to create exception fromdefault PersistentMapX<K,V> onEmptySwitch(java.util.function.Supplier<? extends org.pcollections.PMap<K,V>> supplier)
OnEmptySwitch
ListX.zero().onEmptySwitch(()->ListX.of(1));
onEmptySwitch in interface OnEmptySwitch<org.jooq.lambda.tuple.Tuple2<K,V>,org.pcollections.PMap<K,V>>supplier - to create replacement containerdefault <T> ListX<T> toListX(java.util.function.Function<? super org.jooq.lambda.tuple.Tuple2<? super K,? super V>,? extends T> fn)
fn - Mapping function to transform each Map entry into a singleUnsafe valuedefault <T> PersistentSetX<T> toPersistentSetX(java.util.function.Function<? super org.jooq.lambda.tuple.Tuple2<? super K,? super V>,? extends T> fn)
fn - Mapping function to transform each Map entry into a singleUnsafe valuedefault <T> OrderedSetX<T> toOrderedSetX(java.util.function.Function<? super org.jooq.lambda.tuple.Tuple2<? super K,? super V>,? extends T> fn)
fn - Mapping function to transform each Map entry into a singleUnsafe valuedefault <T> PersistentQueueX<T> toPersistentQueueX(java.util.function.Function<? super org.jooq.lambda.tuple.Tuple2<? super K,? super V>,? extends T> fn)
fn - Mapping function to transform each Map entry into a singleUnsafe valuedefault <T> LinkedListX<T> toLinkedListX(java.util.function.Function<? super org.jooq.lambda.tuple.Tuple2<? super K,? super V>,? extends T> fn)
fn - Mapping function to transform each Map entry into a singleUnsafe valuedefault <T> VectorX<T> toVectorX(java.util.function.Function<? super org.jooq.lambda.tuple.Tuple2<? super K,? super V>,? extends T> fn)
fn - Mapping function to transform each Map entry into a singleUnsafe valuedefault <T> BagX<T> toBagX(java.util.function.Function<? super org.jooq.lambda.tuple.Tuple2<? super K,? super V>,? extends T> fn)
fn - Mapping function to transform each Map entry into a singleUnsafe value