Class 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:
    33.2.0 (available since 21.0 in guava-jre)
    Author:
    Louis Wasserman
    • Method Detail

      • 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 ObjectCollector<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.