Class LangCollectors


  • public final class LangCollectors
    extends java.lang.Object
    Implementations of Collector that implement various reduction operations.

    This class is called LangCollectors instead of Collectors to avoid clashes with Collectors.

    Since:
    3.13.0
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <T,​R,​A>
      R
      collect​(java.util.stream.Collector<? super T,​A,​R> collector, T... array)
      Delegates to Stream.collect(Collector) for a Stream on the given array.
      static java.util.stream.Collector<java.lang.Object,​?,​java.lang.String> joining()
      Returns a Collector that concatenates the input elements, separated by the specified delimiter, in encounter order.
      static java.util.stream.Collector<java.lang.Object,​?,​java.lang.String> joining​(java.lang.CharSequence delimiter)
      Returns a Collector that concatenates the input elements, separated by the specified delimiter, in encounter order.
      static java.util.stream.Collector<java.lang.Object,​?,​java.lang.String> joining​(java.lang.CharSequence delimiter, java.lang.CharSequence prefix, java.lang.CharSequence suffix)
      Returns a Collector that concatenates the input elements, separated by the specified delimiter, with the specified prefix and suffix, in encounter order.
      static java.util.stream.Collector<java.lang.Object,​?,​java.lang.String> joining​(java.lang.CharSequence delimiter, java.lang.CharSequence prefix, java.lang.CharSequence suffix, java.util.function.Function<java.lang.Object,​java.lang.String> toString)
      Returns a Collector that concatenates the input elements, separated by the specified delimiter, with the specified prefix and suffix, in encounter order.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • collect

        @SafeVarargs
        public static <T,​R,​A> R collect​(java.util.stream.Collector<? super T,​A,​R> collector,
                                                    T... array)
        Delegates to Stream.collect(Collector) for a Stream on the given array.
        Type Parameters:
        T - The type of the array elements.
        R - the type of the result.
        A - the intermediate accumulation type of the Collector.
        Parameters:
        collector - the Collector describing the reduction.
        array - The array, assumed to be unmodified during use, a null array treated as an empty array.
        Returns:
        the result of the reduction
        Since:
        3.16.0
        See Also:
        Stream.collect(Collector), Arrays.stream(Object[]), Collectors
      • joining

        public static java.util.stream.Collector<java.lang.Object,​?,​java.lang.String> joining()
        Returns a Collector that concatenates the input elements, separated by the specified delimiter, in encounter order.

        This is a variation of Collectors.joining() that works with any element class, not just CharSequence.

        For example:

         Stream.of(Long.valueOf(1), Long.valueOf(2), Long.valueOf(3))
            .collect(LangCollectors.joining())
         returns "123"
         
        Returns:
        A Collector which concatenates Object elements, separated by the specified delimiter, in encounter order.
      • joining

        public static java.util.stream.Collector<java.lang.Object,​?,​java.lang.String> joining​(java.lang.CharSequence delimiter)
        Returns a Collector that concatenates the input elements, separated by the specified delimiter, in encounter order.

        This is a variation of Collectors.joining(CharSequence) that works with any element class, not just CharSequence.

        For example:

         Stream.of(Long.valueOf(1), Long.valueOf(2), Long.valueOf(3))
           .collect(LangCollectors.joining("-"))
         returns "1-2-3"
         
        Parameters:
        delimiter - the delimiter to be used between each element.
        Returns:
        A Collector which concatenates Object elements, separated by the specified delimiter, in encounter order.
      • joining

        public static java.util.stream.Collector<java.lang.Object,​?,​java.lang.String> joining​(java.lang.CharSequence delimiter,
                                                                                                          java.lang.CharSequence prefix,
                                                                                                          java.lang.CharSequence suffix)
        Returns a Collector that concatenates the input elements, separated by the specified delimiter, with the specified prefix and suffix, in encounter order.

        This is a variation of Collectors.joining(CharSequence, CharSequence, CharSequence) that works with any element class, not just CharSequence.

        For example:

         Stream.of(Long.valueOf(1), Long.valueOf(2), Long.valueOf(3))
           .collect(LangCollectors.joining("-", "[", "]"))
         returns "[1-2-3]"
         
        Parameters:
        delimiter - the delimiter to be used between each element
        prefix - the sequence of characters to be used at the beginning of the joined result
        suffix - the sequence of characters to be used at the end of the joined result
        Returns:
        A Collector which concatenates CharSequence elements, separated by the specified delimiter, in encounter order
      • joining

        public static java.util.stream.Collector<java.lang.Object,​?,​java.lang.String> joining​(java.lang.CharSequence delimiter,
                                                                                                          java.lang.CharSequence prefix,
                                                                                                          java.lang.CharSequence suffix,
                                                                                                          java.util.function.Function<java.lang.Object,​java.lang.String> toString)
        Returns a Collector that concatenates the input elements, separated by the specified delimiter, with the specified prefix and suffix, in encounter order.

        This is a variation of Collectors.joining(CharSequence, CharSequence, CharSequence) that works with any element class, not just CharSequence.

        For example:

        
         Stream.of(Long.valueOf(1), null, Long.valueOf(3))
           .collect(LangCollectors.joining("-", "[", "]", o -> Objects.toString(o, "NUL")))
         returns "[1-NUL-3]"
         
        Parameters:
        delimiter - the delimiter to be used between each element
        prefix - the sequence of characters to be used at the beginning of the joined result
        suffix - the sequence of characters to be used at the end of the joined result
        toString - A function that takes an Object and returns a non-null String.
        Returns:
        A Collector which concatenates CharSequence elements, separated by the specified delimiter, in encounter order