Class MoreCollectors

java.lang.Object
com.google.common.collect.MoreCollectors

@GwtCompatible public final class MoreCollectors extends Object
Collectors not present in java.util.stream.Collectors that are not otherwise associated with a com.google.common type.
Since:
21.0
Author:
Louis Wasserman
  • Method Details

    • toOptional

      public static <T> Collector<T,?,Optional<T>> toOptional()
      A collector that converts a stream of zero or one elements to an Optional.
      Returns:
      Optional.of(onlyElement) if the stream has exactly one element (must not be null) and returns Optional.empty() if it has none.
      Throws:
      IllegalArgumentException - if the stream consists of two or more elements.
      NullPointerException - if any element in the stream is null.
    • onlyElement

      public static <T extends @Nullable Object> Collector<T,?,T> onlyElement()
      A collector that takes a stream containing exactly one element and returns that element. The returned collector throws an IllegalArgumentException if the stream consists of two or more elements, and a NoSuchElementException if the stream is empty.