Collectors (Java Platform SE 8 ) (original) (raw)
Modifier and Type
Method
Description
static <T> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[Double](../../../java/lang/Double.html "class in java.lang")>
[averagingDouble](../../../java/util/stream/Collectors.html#averagingDouble-java.util.function.ToDoubleFunction-)([ToDoubleFunction](../../../java/util/function/ToDoubleFunction.html "interface in java.util.function")<? super T> mapper)
Returns a Collector
that produces the arithmetic mean of a double-valued function applied to the input elements.
static <T> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[Double](../../../java/lang/Double.html "class in java.lang")>
[averagingInt](../../../java/util/stream/Collectors.html#averagingInt-java.util.function.ToIntFunction-)([ToIntFunction](../../../java/util/function/ToIntFunction.html "interface in java.util.function")<? super T> mapper)
Returns a Collector
that produces the arithmetic mean of an integer-valued function applied to the input elements.
static <T> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[Double](../../../java/lang/Double.html "class in java.lang")>
[averagingLong](../../../java/util/stream/Collectors.html#averagingLong-java.util.function.ToLongFunction-)([ToLongFunction](../../../java/util/function/ToLongFunction.html "interface in java.util.function")<? super T> mapper)
Returns a Collector
that produces the arithmetic mean of a long-valued function applied to the input elements.
static <T,A,R,RR> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,A,RR>
[collectingAndThen](../../../java/util/stream/Collectors.html#collectingAndThen-java.util.stream.Collector-java.util.function.Function-)([Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,A,R> downstream,[Function](../../../java/util/function/Function.html "interface in java.util.function")<R,RR> finisher)
Adapts a Collector
to perform an additional finishing transformation.
static <T> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[Long](../../../java/lang/Long.html "class in java.lang")>
[counting](../../../java/util/stream/Collectors.html#counting--)()
Returns a Collector
accepting elements of type T
that counts the number of input elements.
static <T,K> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[Map](../../../java/util/Map.html "interface in java.util")<K,[List](../../../java/util/List.html "interface in java.util")<T>>>
[groupingBy](../../../java/util/stream/Collectors.html#groupingBy-java.util.function.Function-)([Function](../../../java/util/function/Function.html "interface in java.util.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](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[Map](../../../java/util/Map.html "interface in java.util")<K,D>>
[groupingBy](../../../java/util/stream/Collectors.html#groupingBy-java.util.function.Function-java.util.stream.Collector-)([Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends K> classifier,[Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<? 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 downstreamCollector
.
static <T,K,D,A,M extends [Map](../../../java/util/Map.html "interface in java.util")<K,D>> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,M>
[groupingBy](../../../java/util/stream/Collectors.html#groupingBy-java.util.function.Function-java.util.function.Supplier-java.util.stream.Collector-)([Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends K> classifier,[Supplier](../../../java/util/function/Supplier.html "interface in java.util.function")<M> mapFactory,[Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<? 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 downstreamCollector
.
static <T,K> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[ConcurrentMap](../../../java/util/concurrent/ConcurrentMap.html "interface in java.util.concurrent")<K,[List](../../../java/util/List.html "interface in java.util")<T>>>
[groupingByConcurrent](../../../java/util/stream/Collectors.html#groupingByConcurrent-java.util.function.Function-)([Function](../../../java/util/function/Function.html "interface in java.util.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](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[ConcurrentMap](../../../java/util/concurrent/ConcurrentMap.html "interface in java.util.concurrent")<K,D>>
[groupingByConcurrent](../../../java/util/stream/Collectors.html#groupingByConcurrent-java.util.function.Function-java.util.stream.Collector-)([Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends K> classifier,[Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<? 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 [ConcurrentMap](../../../java/util/concurrent/ConcurrentMap.html "interface in java.util.concurrent")<K,D>> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,M>
[groupingByConcurrent](../../../java/util/stream/Collectors.html#groupingByConcurrent-java.util.function.Function-java.util.function.Supplier-java.util.stream.Collector-)([Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends K> classifier,[Supplier](../../../java/util/function/Supplier.html "interface in java.util.function")<M> mapFactory,[Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<? 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 [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<[CharSequence](../../../java/lang/CharSequence.html "interface in java.lang"),?,[String](../../../java/lang/String.html "class in java.lang")>
[joining](../../../java/util/stream/Collectors.html#joining--)()
Returns a Collector
that concatenates the input elements into aString
, in encounter order.
static [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<[CharSequence](../../../java/lang/CharSequence.html "interface in java.lang"),?,[String](../../../java/lang/String.html "class in java.lang")>
[joining](../../../java/util/stream/Collectors.html#joining-java.lang.CharSequence-)([CharSequence](../../../java/lang/CharSequence.html "interface in java.lang") delimiter)
Returns a Collector
that concatenates the input elements, separated by the specified delimiter, in encounter order.
static [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<[CharSequence](../../../java/lang/CharSequence.html "interface in java.lang"),?,[String](../../../java/lang/String.html "class in java.lang")>
[joining](../../../java/util/stream/Collectors.html#joining-java.lang.CharSequence-java.lang.CharSequence-java.lang.CharSequence-)([CharSequence](../../../java/lang/CharSequence.html "interface in java.lang") delimiter,[CharSequence](../../../java/lang/CharSequence.html "interface in java.lang") prefix,[CharSequence](../../../java/lang/CharSequence.html "interface in java.lang") suffix)
Returns a Collector
that concatenates the input elements, separated by the specified delimiter, with the specified prefix and suffix, in encounter order.
static <T,U,A,R> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,R>
[mapping](../../../java/util/stream/Collectors.html#mapping-java.util.function.Function-java.util.stream.Collector-)([Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends U> mapper,[Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<? 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> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[Optional](../../../java/util/Optional.html "class in java.util")<T>>
[maxBy](../../../java/util/stream/Collectors.html#maxBy-java.util.Comparator-)([Comparator](../../../java/util/Comparator.html "interface in java.util")<? super T> comparator)
Returns a Collector
that produces the maximal element according to a given Comparator
, described as an Optional<T>
.
static <T> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[Optional](../../../java/util/Optional.html "class in java.util")<T>>
[minBy](../../../java/util/stream/Collectors.html#minBy-java.util.Comparator-)([Comparator](../../../java/util/Comparator.html "interface in java.util")<? super T> comparator)
Returns a Collector
that produces the minimal element according to a given Comparator
, described as an Optional<T>
.
static <T> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[Map](../../../java/util/Map.html "interface in java.util")<[Boolean](../../../java/lang/Boolean.html "class in java.lang"),[List](../../../java/util/List.html "interface in java.util")<T>>>
[partitioningBy](../../../java/util/stream/Collectors.html#partitioningBy-java.util.function.Predicate-)([Predicate](../../../java/util/function/Predicate.html "interface in java.util.function")<? super T> predicate)
Returns a Collector
which partitions the input elements according to a Predicate
, and organizes them into aMap<Boolean, List<T>>
.
static <T,D,A> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[Map](../../../java/util/Map.html "interface in java.util")<[Boolean](../../../java/lang/Boolean.html "class in java.lang"),D>>
[partitioningBy](../../../java/util/stream/Collectors.html#partitioningBy-java.util.function.Predicate-java.util.stream.Collector-)([Predicate](../../../java/util/function/Predicate.html "interface in java.util.function")<? super T> predicate,[Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<? super T,A,D> downstream)
Returns a Collector
which partitions the input elements according to a Predicate
, reduces the values in each partition according to another Collector
, and organizes them into aMap<Boolean, D>
whose values are the result of the downstream reduction.
static <T> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[Optional](../../../java/util/Optional.html "class in java.util")<T>>
[reducing](../../../java/util/stream/Collectors.html#reducing-java.util.function.BinaryOperator-)([BinaryOperator](../../../java/util/function/BinaryOperator.html "interface in java.util.function")<T> op)
Returns a Collector
which performs a reduction of its input elements under a specified BinaryOperator
.
static <T> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,T>
[reducing](../../../java/util/stream/Collectors.html#reducing-T-java.util.function.BinaryOperator-)(T identity,[BinaryOperator](../../../java/util/function/BinaryOperator.html "interface in java.util.function")<T> op)
Returns a Collector
which performs a reduction of its input elements under a specified BinaryOperator
using the provided identity.
static <T,U> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,U>
[reducing](../../../java/util/stream/Collectors.html#reducing-U-java.util.function.Function-java.util.function.BinaryOperator-)(U identity,[Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends U> mapper,[BinaryOperator](../../../java/util/function/BinaryOperator.html "interface in java.util.function")<U> op)
Returns a Collector
which performs a reduction of its input elements under a specified mapping function andBinaryOperator
.
static <T> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[DoubleSummaryStatistics](../../../java/util/DoubleSummaryStatistics.html "class in java.util")>
[summarizingDouble](../../../java/util/stream/Collectors.html#summarizingDouble-java.util.function.ToDoubleFunction-)([ToDoubleFunction](../../../java/util/function/ToDoubleFunction.html "interface in java.util.function")<? super T> mapper)
Returns a Collector
which applies an double
-producing mapping function to each input element, and returns summary statistics for the resulting values.
static <T> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[IntSummaryStatistics](../../../java/util/IntSummaryStatistics.html "class in java.util")>
[summarizingInt](../../../java/util/stream/Collectors.html#summarizingInt-java.util.function.ToIntFunction-)([ToIntFunction](../../../java/util/function/ToIntFunction.html "interface in java.util.function")<? super T> mapper)
Returns a Collector
which applies an int
-producing mapping function to each input element, and returns summary statistics for the resulting values.
static <T> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[LongSummaryStatistics](../../../java/util/LongSummaryStatistics.html "class in java.util")>
[summarizingLong](../../../java/util/stream/Collectors.html#summarizingLong-java.util.function.ToLongFunction-)([ToLongFunction](../../../java/util/function/ToLongFunction.html "interface in java.util.function")<? super T> mapper)
Returns a Collector
which applies an long
-producing mapping function to each input element, and returns summary statistics for the resulting values.
static <T> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[Double](../../../java/lang/Double.html "class in java.lang")>
[summingDouble](../../../java/util/stream/Collectors.html#summingDouble-java.util.function.ToDoubleFunction-)([ToDoubleFunction](../../../java/util/function/ToDoubleFunction.html "interface in java.util.function")<? super T> mapper)
Returns a Collector
that produces the sum of a double-valued function applied to the input elements.
static <T> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[Integer](../../../java/lang/Integer.html "class in java.lang")>
[summingInt](../../../java/util/stream/Collectors.html#summingInt-java.util.function.ToIntFunction-)([ToIntFunction](../../../java/util/function/ToIntFunction.html "interface in java.util.function")<? super T> mapper)
Returns a Collector
that produces the sum of a integer-valued function applied to the input elements.
static <T> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[Long](../../../java/lang/Long.html "class in java.lang")>
[summingLong](../../../java/util/stream/Collectors.html#summingLong-java.util.function.ToLongFunction-)([ToLongFunction](../../../java/util/function/ToLongFunction.html "interface in java.util.function")<? super T> mapper)
Returns a Collector
that produces the sum of a long-valued function applied to the input elements.
static <T,C extends [Collection](../../../java/util/Collection.html "interface in java.util")<T>> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,C>
[toCollection](../../../java/util/stream/Collectors.html#toCollection-java.util.function.Supplier-)([Supplier](../../../java/util/function/Supplier.html "interface in java.util.function")<C> collectionFactory)
Returns a Collector
that accumulates the input elements into a new Collection
, in encounter order.
static <T,K,U> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[ConcurrentMap](../../../java/util/concurrent/ConcurrentMap.html "interface in java.util.concurrent")<K,U>>
[toConcurrentMap](../../../java/util/stream/Collectors.html#toConcurrentMap-java.util.function.Function-java.util.function.Function-)([Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends K> keyMapper,[Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends U> valueMapper)
Returns a concurrent Collector
that accumulates elements into aConcurrentMap
whose keys and values are the result of applying the provided mapping functions to the input elements.
static <T,K,U> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[ConcurrentMap](../../../java/util/concurrent/ConcurrentMap.html "interface in java.util.concurrent")<K,U>>
[toConcurrentMap](../../../java/util/stream/Collectors.html#toConcurrentMap-java.util.function.Function-java.util.function.Function-java.util.function.BinaryOperator-)([Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends K> keyMapper,[Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends U> valueMapper,[BinaryOperator](../../../java/util/function/BinaryOperator.html "interface in java.util.function")<U> mergeFunction)
Returns a concurrent Collector
that accumulates elements into aConcurrentMap
whose keys and values are the result of applying the provided mapping functions to the input elements.
static <T,K,U,M extends [ConcurrentMap](../../../java/util/concurrent/ConcurrentMap.html "interface in java.util.concurrent")<K,U>> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,M>
[toConcurrentMap](../../../java/util/stream/Collectors.html#toConcurrentMap-java.util.function.Function-java.util.function.Function-java.util.function.BinaryOperator-java.util.function.Supplier-)([Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends K> keyMapper,[Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends U> valueMapper,[BinaryOperator](../../../java/util/function/BinaryOperator.html "interface in java.util.function")<U> mergeFunction,[Supplier](../../../java/util/function/Supplier.html "interface in java.util.function")<M> mapSupplier)
Returns a concurrent Collector
that accumulates elements into aConcurrentMap
whose keys and values are the result of applying the provided mapping functions to the input elements.
static <T> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[List](../../../java/util/List.html "interface in java.util")<T>>
[toList](../../../java/util/stream/Collectors.html#toList--)()
Returns a Collector
that accumulates the input elements into a new List
.
static <T,K,U> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[Map](../../../java/util/Map.html "interface in java.util")<K,U>>
[toMap](../../../java/util/stream/Collectors.html#toMap-java.util.function.Function-java.util.function.Function-)([Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends K> keyMapper,[Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends U> valueMapper)
Returns a Collector
that accumulates elements into aMap
whose keys and values are the result of applying the provided mapping functions to the input elements.
static <T,K,U> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[Map](../../../java/util/Map.html "interface in java.util")<K,U>>
[toMap](../../../java/util/stream/Collectors.html#toMap-java.util.function.Function-java.util.function.Function-java.util.function.BinaryOperator-)([Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends K> keyMapper,[Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends U> valueMapper,[BinaryOperator](../../../java/util/function/BinaryOperator.html "interface in java.util.function")<U> mergeFunction)
Returns a Collector
that accumulates elements into aMap
whose keys and values are the result of applying the provided mapping functions to the input elements.
static <T,K,U,M extends [Map](../../../java/util/Map.html "interface in java.util")<K,U>> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,M>
[toMap](../../../java/util/stream/Collectors.html#toMap-java.util.function.Function-java.util.function.Function-java.util.function.BinaryOperator-java.util.function.Supplier-)([Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends K> keyMapper,[Function](../../../java/util/function/Function.html "interface in java.util.function")<? super T,? extends U> valueMapper,[BinaryOperator](../../../java/util/function/BinaryOperator.html "interface in java.util.function")<U> mergeFunction,[Supplier](../../../java/util/function/Supplier.html "interface in java.util.function")<M> mapSupplier)
Returns a Collector
that accumulates elements into aMap
whose keys and values are the result of applying the provided mapping functions to the input elements.
static <T> [Collector](../../../java/util/stream/Collector.html "interface in java.util.stream")<T,?,[Set](../../../java/util/Set.html "interface in java.util")<T>>
[toSet](../../../java/util/stream/Collectors.html#toSet--)()
Returns a Collector
that accumulates the input elements into a new Set
.