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.