Module java.base
Package java.util.stream

# Class Collectors

=
public final class Collectors
extends java.lang.Object

## Methods

- =
  public static <T> java.util.stream.Collector<T, ?, java.lang.Double> averagingDouble(java.util.function.ToDoubleFunction<? super T> arg0)
- =
  public static <T> java.util.stream.Collector<T, ?, java.lang.Double> averagingInt(java.util.function.ToIntFunction<? super T> arg0)
- =
  public static <T> java.util.stream.Collector<T, ?, java.lang.Double> averagingLong(java.util.function.ToLongFunction<? super T> arg0)
- =
  public static <T, A, R, RR> java.util.stream.Collector<T, A, RR> collectingAndThen(java.util.stream.Collector<T, A, R> arg0, java.util.function.Function<R, RR> arg1)
- =
  public static <T> java.util.stream.Collector<T, ?, java.lang.Long> counting()
- =
  public static <T, A, R> java.util.stream.Collector<T, ?, R> filtering(java.util.function.Predicate<? super T> arg0, java.util.stream.Collector<? super T, A, R> arg1)
- =
  public static <T, U, A, R> java.util.stream.Collector<T, ?, R> flatMapping(java.util.function.Function<? super T, ? extends java.util.stream.Stream<? extends U>> arg0, java.util.stream.Collector<? super U, A, R> arg1)
- =
  public static <T, K> java.util.stream.Collector<T, ?, java.util.Map<K, java.util.List<T>>> groupingBy(java.util.function.Function<? super T, ? extends K> arg0)
- =
  public static <T, K, D, A, M> java.util.stream.Collector<T, ?, M> groupingBy(java.util.function.Function<? super T, ? extends K> arg0, java.util.function.Supplier<M> arg1, java.util.stream.Collector<? super T, A, D> arg2)
- =
  public static <T, K, A, D> java.util.stream.Collector<T, ?, java.util.Map<K, D>> groupingBy(java.util.function.Function<? super T, ? extends K> arg0, java.util.stream.Collector<? super T, A, D> arg1)
- =
  public static <T, K> java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, java.util.List<T>>> groupingByConcurrent(java.util.function.Function<? super T, ? extends K> arg0)
- =
  public static <T, K, A, D, M> java.util.stream.Collector<T, ?, M> groupingByConcurrent(java.util.function.Function<? super T, ? extends K> arg0, java.util.function.Supplier<M> arg1, java.util.stream.Collector<? super T, A, D> arg2)
- =
  public static <T, K, A, D> java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, D>> groupingByConcurrent(java.util.function.Function<? super T, ? extends K> arg0, java.util.stream.Collector<? super T, A, D> arg1)
- =
  public static java.util.stream.Collector<java.lang.CharSequence, ?, java.lang.String> joining()
- =
  public static java.util.stream.Collector<java.lang.CharSequence, ?, java.lang.String> joining(java.lang.CharSequence arg0)
- =
  public static java.util.stream.Collector<java.lang.CharSequence, ?, java.lang.String> joining(java.lang.CharSequence arg0, java.lang.CharSequence arg1, java.lang.CharSequence arg2)
- =
  public static <T, U, A, R> java.util.stream.Collector<T, ?, R> mapping(java.util.function.Function<? super T, ? extends U> arg0, java.util.stream.Collector<? super U, A, R> arg1)
- =
  public static <T> java.util.stream.Collector<T, ?, java.util.Optional<T>> maxBy(java.util.Comparator<? super T> arg0)
- =
  public static <T> java.util.stream.Collector<T, ?, java.util.Optional<T>> minBy(java.util.Comparator<? super T> arg0)
- =
  public static <T> java.util.stream.Collector<T, ?, java.util.Map<java.lang.Boolean, java.util.List<T>>> partitioningBy(java.util.function.Predicate<? super T> arg0)
- =
  public static <T, D, A> java.util.stream.Collector<T, ?, java.util.Map<java.lang.Boolean, D>> partitioningBy(java.util.function.Predicate<? super T> arg0, java.util.stream.Collector<? super T, A, D> arg1)
- =
  public static <T> java.util.stream.Collector<T, ?, java.util.Optional<T>> reducing(java.util.function.BinaryOperator<T> arg0)
- =
  public static <T> java.util.stream.Collector<T, ?, T> reducing(T arg0, java.util.function.BinaryOperator<T> arg1)
- =
  public static <T, U> java.util.stream.Collector<T, ?, U> reducing(U arg0, java.util.function.Function<? super T, ? extends U> arg1, java.util.function.BinaryOperator<U> arg2)
- =
  public static <T> java.util.stream.Collector<T, ?, java.util.DoubleSummaryStatistics> summarizingDouble(java.util.function.ToDoubleFunction<? super T> arg0)
- =
  public static <T> java.util.stream.Collector<T, ?, java.util.IntSummaryStatistics> summarizingInt(java.util.function.ToIntFunction<? super T> arg0)
- =
  public static <T> java.util.stream.Collector<T, ?, java.util.LongSummaryStatistics> summarizingLong(java.util.function.ToLongFunction<? super T> arg0)
- =
  public static <T> java.util.stream.Collector<T, ?, java.lang.Double> summingDouble(java.util.function.ToDoubleFunction<? super T> arg0)
- =
  public static <T> java.util.stream.Collector<T, ?, java.lang.Integer> summingInt(java.util.function.ToIntFunction<? super T> arg0)
- =
  public static <T> java.util.stream.Collector<T, ?, java.lang.Long> summingLong(java.util.function.ToLongFunction<? super T> arg0)
- =
  public static <T, R1, R2, R> java.util.stream.Collector<T, ?, R> teeing(java.util.stream.Collector<? super T, ?, R1> arg0, java.util.stream.Collector<? super T, ?, R2> arg1, java.util.function.BiFunction<? super R1, ? super R2, R> arg2)
- =
  public static <T, C> java.util.stream.Collector<T, ?, C> toCollection(java.util.function.Supplier<C> arg0)
- =
  public static <T, K, U> java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, U>> toConcurrentMap(java.util.function.Function<? super T, ? extends K> arg0, java.util.function.Function<? super T, ? extends U> arg1)
- =
  public static <T, K, U> java.util.stream.Collector<T, ?, java.util.concurrent.ConcurrentMap<K, U>> toConcurrentMap(java.util.function.Function<? super T, ? extends K> arg0, java.util.function.Function<? super T, ? extends U> arg1, java.util.function.BinaryOperator<U> arg2)
- =
  public static <T, K, U, M> java.util.stream.Collector<T, ?, M> toConcurrentMap(java.util.function.Function<? super T, ? extends K> arg0, java.util.function.Function<? super T, ? extends U> arg1, java.util.function.BinaryOperator<U> arg2, java.util.function.Supplier<M> arg3)
- =
  public static <T> java.util.stream.Collector<T, ?, java.util.List<T>> toList()
- =
  public static <T, K, U> java.util.stream.Collector<T, ?, java.util.Map<K, U>> toMap(java.util.function.Function<? super T, ? extends K> arg0, java.util.function.Function<? super T, ? extends U> arg1)
- =
  public static <T, K, U> java.util.stream.Collector<T, ?, java.util.Map<K, U>> toMap(java.util.function.Function<? super T, ? extends K> arg0, java.util.function.Function<? super T, ? extends U> arg1, java.util.function.BinaryOperator<U> arg2)
- =
  public static <T, K, U, M> java.util.stream.Collector<T, ?, M> toMap(java.util.function.Function<? super T, ? extends K> arg0, java.util.function.Function<? super T, ? extends U> arg1, java.util.function.BinaryOperator<U> arg2, java.util.function.Supplier<M> arg3)
- =
  public static <T> java.util.stream.Collector<T, ?, java.util.Set<T>> toSet()
- =
  public static <T> java.util.stream.Collector<T, ?, java.util.List<T>> toUnmodifiableList()
- =
  public static <T, K, U> java.util.stream.Collector<T, ?, java.util.Map<K, U>> toUnmodifiableMap(java.util.function.Function<? super T, ? extends K> arg0, java.util.function.Function<? super T, ? extends U> arg1)
- =
  public static <T, K, U> java.util.stream.Collector<T, ?, java.util.Map<K, U>> toUnmodifiableMap(java.util.function.Function<? super T, ? extends K> arg0, java.util.function.Function<? super T, ? extends U> arg1, java.util.function.BinaryOperator<U> arg2)
- =
  public static <T> java.util.stream.Collector<T, ?, java.util.Set<T>> toUnmodifiableSet()

## Summary

No differences.