Package | Description |
---|---|
java8.util |
Provides some of the new
java.util classes and implementations
of static and default interface methods added in Java 8. |
java8.util.concurrent |
The Java 7 and Java 8 utility classes commonly used in concurrent programming.
|
java8.util.function |
Functional interfaces provide target types for lambda expressions
and method references.
|
java8.util.stream |
Classes to support functional-style operations on streams of elements, such
as map-reduce transformations on collections.
|
Modifier and Type | Method and Description |
---|---|
static <T,U extends java.lang.Comparable<? super U>> |
Comparators.comparing(Function<? super T,? extends U> keyExtractor)
Accepts a function that extracts a
Comparable sort key from a type T , and returns a Comparator<T> that compares by that sort key. |
static <T,U> java.util.Comparator<T> |
Comparators.comparing(Function<? super T,? extends U> keyExtractor,
java.util.Comparator<? super U> keyComparator)
Accepts a function that extracts a sort key from a type
T , and
returns a Comparator<T> that compares by that sort key using
the specified Comparator . |
static <K,V> V |
Maps.computeIfAbsent(java.util.Map<K,V> map,
K key,
Function<? super K,? extends V> mappingFunction)
If the specified key is not already associated with a value (or is mapped
to
null ), attempts to compute its value using the given mapping
function and enters it into the passed map unless null . |
static <K,V> V |
Maps.computeIfAbsentConcurrent(java.util.concurrent.ConcurrentMap<K,V> map,
K key,
Function<? super K,? extends V> mappingFunction)
If the specified key is not already associated with a value (or is mapped
to
null ), attempts to compute its value using the given mapping
function and enters it into the passed map unless null . |
<U> Optional<U> |
Optional.flatMap(Function<? super T,Optional<U>> mapper)
If a value is present, apply the provided
Optional -bearing
mapping function to it, return that result, otherwise return an empty
Optional . |
<U> Optional<U> |
Optional.map(Function<? super T,? extends U> mapper)
If a value is present, apply the provided mapping function to it,
and if the result is non-null, return an
Optional describing the
result. |
static <T,U extends java.lang.Comparable<? super U>> |
Comparators.thenComparing(java.util.Comparator<? super T> this_,
Function<? super T,? extends U> keyExtractor)
Returns a lexicographic-order comparator with a function that
extracts a
Comparable sort key. |
static <T,U> java.util.Comparator<T> |
Comparators.thenComparing(java.util.Comparator<? super T> this_,
Function<? super T,? extends U> keyExtractor,
java.util.Comparator<? super U> keyComparator)
Returns a lexicographic-order comparator with a function that
extracts a key to be compared with the given
Comparator . |
Modifier and Type | Method and Description |
---|---|
<U> CompletionStage<U> |
CompletionStage.applyToEither(CompletionStage<? extends T> other,
Function<? super T,U> fn)
Returns a new CompletionStage that, when either this or the
other given stage complete normally, is executed with the
corresponding result as argument to the supplied function.
|
<U> CompletableFuture<U> |
CompletableFuture.applyToEither(CompletionStage<? extends T> other,
Function<? super T,U> fn) |
<U> CompletionStage<U> |
CompletionStage.applyToEitherAsync(CompletionStage<? extends T> other,
Function<? super T,U> fn)
Returns a new CompletionStage that, when either this or the
other given stage complete normally, is executed using this
stage's default asynchronous execution facility, with the
corresponding result as argument to the supplied function.
|
<U> CompletableFuture<U> |
CompletableFuture.applyToEitherAsync(CompletionStage<? extends T> other,
Function<? super T,U> fn) |
<U> CompletionStage<U> |
CompletionStage.applyToEitherAsync(CompletionStage<? extends T> other,
Function<? super T,U> fn,
java.util.concurrent.Executor executor)
Returns a new CompletionStage that, when either this or the
other given stage complete normally, is executed using the
supplied executor, with the corresponding result as argument to
the supplied function.
|
<U> CompletableFuture<U> |
CompletableFuture.applyToEitherAsync(CompletionStage<? extends T> other,
Function<? super T,U> fn,
java.util.concurrent.Executor executor) |
CompletionStage<T> |
CompletionStage.exceptionally(Function<java.lang.Throwable,? extends T> fn)
Returns a new CompletionStage that, when this stage completes
exceptionally, is executed with this stage's exception as the
argument to the supplied function.
|
CompletableFuture<T> |
CompletableFuture.exceptionally(Function<java.lang.Throwable,? extends T> fn)
Returns a new CompletableFuture that is completed when this
CompletableFuture completes, with the result of the given
function of the exception triggering this CompletableFuture's
completion when it completes exceptionally; otherwise, if this
CompletableFuture completes normally, then the returned
CompletableFuture also completes normally with the same value.
|
<U> CompletionStage<U> |
CompletionStage.thenApply(Function<? super T,? extends U> fn)
Returns a new CompletionStage that, when this stage completes
normally, is executed with this stage's result as the argument
to the supplied function.
|
<U> CompletableFuture<U> |
CompletableFuture.thenApply(Function<? super T,? extends U> fn) |
<U> CompletionStage<U> |
CompletionStage.thenApplyAsync(Function<? super T,? extends U> fn)
Returns a new CompletionStage that, when this stage completes
normally, is executed using this stage's default asynchronous
execution facility, with this stage's result as the argument to
the supplied function.
|
<U> CompletableFuture<U> |
CompletableFuture.thenApplyAsync(Function<? super T,? extends U> fn) |
<U> CompletionStage<U> |
CompletionStage.thenApplyAsync(Function<? super T,? extends U> fn,
java.util.concurrent.Executor executor)
Returns a new CompletionStage that, when this stage completes
normally, is executed using the supplied Executor, with this
stage's result as the argument to the supplied function.
|
<U> CompletableFuture<U> |
CompletableFuture.thenApplyAsync(Function<? super T,? extends U> fn,
java.util.concurrent.Executor executor) |
<U> CompletionStage<U> |
CompletionStage.thenCompose(Function<? super T,? extends CompletionStage<U>> fn)
Returns a new CompletionStage that, when this stage completes
normally, is executed with this stage as the argument
to the supplied function.
|
<U> CompletableFuture<U> |
CompletableFuture.thenCompose(Function<? super T,? extends CompletionStage<U>> fn) |
<U> CompletionStage<U> |
CompletionStage.thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn)
Returns a new CompletionStage that, when this stage completes
normally, is executed using this stage's default asynchronous
execution facility, with this stage as the argument to the
supplied function.
|
<U> CompletableFuture<U> |
CompletableFuture.thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn) |
<U> CompletionStage<U> |
CompletionStage.thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn,
java.util.concurrent.Executor executor)
Returns a new CompletionStage that, when this stage completes
normally, is executed using the supplied Executor, with this
stage's result as the argument to the supplied function.
|
<U> CompletableFuture<U> |
CompletableFuture.thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn,
java.util.concurrent.Executor executor) |
Modifier and Type | Interface and Description |
---|---|
interface |
UnaryOperator<T>
Represents an operation on a single operand that produces a result of the
same type as its operand.
|
Modifier and Type | Method and Description |
---|---|
static <R,T,V> Function<T,V> |
Functions.andThen(Function<? super T,? extends R> this_,
Function<? super R,? extends V> after)
Returns a composed function that first applies the
this_ function to
its input, and then applies the after function to the result. |
static <R,T,V> Function<V,R> |
Functions.compose(Function<? super T,? extends R> this_,
Function<? super V,? extends T> before)
Returns a composed function that first applies the
before
function to its input, and then applies the this_ function to the result. |
static <T> Function<T,T> |
Functions.identity()
Returns a function that always returns its input argument.
|
Modifier and Type | Method and Description |
---|---|
static <R,T,U,V> BiFunction<T,U,V> |
BiFunctions.andThen(BiFunction<? super T,? super U,? extends R> this_,
Function<? super R,? extends V> after)
Returns a composed function that first applies the
this_ function to
its inputs, and then applies the after function to the result. |
static <R,T,V> Function<T,V> |
Functions.andThen(Function<? super T,? extends R> this_,
Function<? super R,? extends V> after)
Returns a composed function that first applies the
this_ function to
its input, and then applies the after function to the result. |
static <R,T,V> Function<T,V> |
Functions.andThen(Function<? super T,? extends R> this_,
Function<? super R,? extends V> after)
Returns a composed function that first applies the
this_ function to
its input, and then applies the after function to the result. |
static <R,T,V> Function<V,R> |
Functions.compose(Function<? super T,? extends R> this_,
Function<? super V,? extends T> before)
Returns a composed function that first applies the
before
function to its input, and then applies the this_ function to the result. |
static <R,T,V> Function<V,R> |
Functions.compose(Function<? super T,? extends R> this_,
Function<? super V,? extends T> before)
Returns a composed function that first applies the
before
function to its input, and then applies the this_ function to the result. |
Modifier and Type | Method and Description |
---|---|
Function<A,R> |
Collector.finisher()
Perform the final transformation from the intermediate accumulation type
A to the final result type R . |
Modifier and Type | Method and Description |
---|---|
static <T,A,R,RR> Collector<T,A,RR> |
Collectors.collectingAndThen(Collector<T,A,R> downstream,
Function<R,RR> finisher)
Adapts a
Collector to perform an additional finishing
transformation. |
<R> Stream<R> |
Stream.flatMap(Function<? super T,? extends Stream<? extends R>> mapper)
Returns a stream consisting of the results of replacing each element of
this stream with the contents of a mapped stream produced by applying
the provided mapping function to each element.
|
DoubleStream |
Stream.flatMapToDouble(Function<? super T,? extends DoubleStream> mapper)
Returns an
DoubleStream consisting of the results of replacing
each element of this stream with the contents of a mapped stream produced
by applying the provided mapping function to each element. |
IntStream |
Stream.flatMapToInt(Function<? super T,? extends IntStream> mapper)
Returns an
IntStream consisting of the results of replacing each
element of this stream with the contents of a mapped stream produced by
applying the provided mapping function to each element. |
LongStream |
Stream.flatMapToLong(Function<? super T,? extends LongStream> mapper)
Returns an
LongStream consisting of the results of replacing each
element of this stream with the contents of a mapped stream produced by
applying the provided mapping function to each element. |
static <T,K> Collector<T,?,java.util.Map<K,java.util.List<T>>> |
Collectors.groupingBy(Function<? super T,? extends K> classifier)
Returns a
Collector implementing a "group by" operation on
input elements of type T , grouping elements according to a
classification function, and returning the results in a Map . |
static <T,K,A,D> Collector<T,?,java.util.Map<K,D>> |
Collectors.groupingBy(Function<? super T,? extends K> classifier,
Collector<? super T,A,D> downstream)
Returns a
Collector implementing a cascaded "group by" operation
on input elements of type T , grouping elements according to a
classification function, and then performing a reduction operation on
the values associated with a given key using the specified downstream
Collector . |
static <T,K,D,A,M extends java.util.Map<K,D>> |
Collectors.groupingBy(Function<? super T,? extends K> classifier,
Supplier<M> mapFactory,
Collector<? super T,A,D> downstream)
Returns a
Collector implementing a cascaded "group by" operation
on input elements of type T , grouping elements according to a
classification function, and then performing a reduction operation on
the values associated with a given key using the specified downstream
Collector . |
static <T,K> Collector<T,?,java.util.concurrent.ConcurrentMap<K,java.util.List<T>>> |
Collectors.groupingByConcurrent(Function<? super T,? extends K> classifier)
Returns a concurrent
Collector implementing a "group by"
operation on input elements of type T , grouping elements
according to a classification function. |
static <T,K,A,D> Collector<T,?,java.util.concurrent.ConcurrentMap<K,D>> |
Collectors.groupingByConcurrent(Function<? super T,? extends K> classifier,
Collector<? super T,A,D> downstream)
Returns a concurrent
Collector implementing a cascaded "group by"
operation on input elements of type T , grouping elements
according to a classification function, and then performing a reduction
operation on the values associated with a given key using the specified
downstream Collector . |
static <T,K,A,D,M extends java.util.concurrent.ConcurrentMap<K,D>> |
Collectors.groupingByConcurrent(Function<? super T,? extends K> classifier,
Supplier<M> mapFactory,
Collector<? super T,A,D> downstream)
Returns a concurrent
Collector implementing a cascaded "group by"
operation on input elements of type T , grouping elements
according to a classification function, and then performing a reduction
operation on the values associated with a given key using the specified
downstream Collector . |
<R> Stream<R> |
Stream.map(Function<? super T,? extends R> mapper)
Returns a stream consisting of the results of applying the given
function to the elements of this stream.
|
static <T,U,A,R> Collector<T,?,R> |
Collectors.mapping(Function<? super T,? extends U> mapper,
Collector<? super U,A,R> downstream)
Adapts a
Collector accepting elements of type U to one
accepting elements of type T by applying a mapping function to
each input element before accumulation. |
static <T,A,R> Collector<T,A,R> |
Collectors.of(Supplier<A> supplier,
BiConsumer<A,T> accumulator,
BinaryOperator<A> combiner,
Function<A,R> finisher,
Collector.Characteristics... characteristics)
Returns a new
Collector described by the given supplier ,
accumulator , combiner , and finisher functions. |
static <T,U> Collector<T,?,U> |
Collectors.reducing(U identity,
Function<? super T,? extends U> mapper,
BinaryOperator<U> op)
Returns a
Collector which performs a reduction of its
input elements under a specified mapping function and
BinaryOperator . |
static <T,K,U> Collector<T,?,java.util.concurrent.ConcurrentMap<K,U>> |
Collectors.toConcurrentMap(Function<? super T,? extends K> keyMapper,
Function<? super T,? extends U> valueMapper)
Returns a concurrent
Collector that accumulates elements into a
ConcurrentMap whose keys and values are the result of applying
the provided mapping functions to the input elements. |
static <T,K,U> Collector<T,?,java.util.concurrent.ConcurrentMap<K,U>> |
Collectors.toConcurrentMap(Function<? super T,? extends K> keyMapper,
Function<? super T,? extends U> valueMapper)
Returns a concurrent
Collector that accumulates elements into a
ConcurrentMap whose keys and values are the result of applying
the provided mapping functions to the input elements. |
static <T,K,U> Collector<T,?,java.util.concurrent.ConcurrentMap<K,U>> |
Collectors.toConcurrentMap(Function<? super T,? extends K> keyMapper,
Function<? super T,? extends U> valueMapper,
BinaryOperator<U> mergeFunction)
Returns a concurrent
Collector that accumulates elements into a
ConcurrentMap whose keys and values are the result of applying
the provided mapping functions to the input elements. |
static <T,K,U> Collector<T,?,java.util.concurrent.ConcurrentMap<K,U>> |
Collectors.toConcurrentMap(Function<? super T,? extends K> keyMapper,
Function<? super T,? extends U> valueMapper,
BinaryOperator<U> mergeFunction)
Returns a concurrent
Collector that accumulates elements into a
ConcurrentMap whose keys and values are the result of applying
the provided mapping functions to the input elements. |
static <T,K,U,M extends java.util.concurrent.ConcurrentMap<K,U>> |
Collectors.toConcurrentMap(Function<? super T,? extends K> keyMapper,
Function<? super T,? extends U> valueMapper,
BinaryOperator<U> mergeFunction,
Supplier<M> mapSupplier)
Returns a concurrent
Collector that accumulates elements into a
ConcurrentMap whose keys and values are the result of applying
the provided mapping functions to the input elements. |
static <T,K,U,M extends java.util.concurrent.ConcurrentMap<K,U>> |
Collectors.toConcurrentMap(Function<? super T,? extends K> keyMapper,
Function<? super T,? extends U> valueMapper,
BinaryOperator<U> mergeFunction,
Supplier<M> mapSupplier)
Returns a concurrent
Collector that accumulates elements into a
ConcurrentMap whose keys and values are the result of applying
the provided mapping functions to the input elements. |
static <T,K,U> Collector<T,?,java.util.Map<K,U>> |
Collectors.toMap(Function<? super T,? extends K> keyMapper,
Function<? super T,? extends U> valueMapper)
Returns a
Collector that accumulates elements into a
Map whose keys and values are the result of applying the provided
mapping functions to the input elements. |
static <T,K,U> Collector<T,?,java.util.Map<K,U>> |
Collectors.toMap(Function<? super T,? extends K> keyMapper,
Function<? super T,? extends U> valueMapper)
Returns a
Collector that accumulates elements into a
Map whose keys and values are the result of applying the provided
mapping functions to the input elements. |
static <T,K,U> Collector<T,?,java.util.Map<K,U>> |
Collectors.toMap(Function<? super T,? extends K> keyMapper,
Function<? super T,? extends U> valueMapper,
BinaryOperator<U> mergeFunction)
Returns a
Collector that accumulates elements into a
Map whose keys and values are the result of applying the provided
mapping functions to the input elements. |
static <T,K,U> Collector<T,?,java.util.Map<K,U>> |
Collectors.toMap(Function<? super T,? extends K> keyMapper,
Function<? super T,? extends U> valueMapper,
BinaryOperator<U> mergeFunction)
Returns a
Collector that accumulates elements into a
Map whose keys and values are the result of applying the provided
mapping functions to the input elements. |
static <T,K,U,M extends java.util.Map<K,U>> |
Collectors.toMap(Function<? super T,? extends K> keyMapper,
Function<? super T,? extends U> valueMapper,
BinaryOperator<U> mergeFunction,
Supplier<M> mapSupplier)
Returns a
Collector that accumulates elements into a
Map whose keys and values are the result of applying the provided
mapping functions to the input elements. |
static <T,K,U,M extends java.util.Map<K,U>> |
Collectors.toMap(Function<? super T,? extends K> keyMapper,
Function<? super T,? extends U> valueMapper,
BinaryOperator<U> mergeFunction,
Supplier<M> mapSupplier)
Returns a
Collector that accumulates elements into a
Map whose keys and values are the result of applying the provided
mapping functions to the input elements. |