Class LangCollectors

java.lang.Object
org.apache.commons.lang3.stream.LangCollectors

public final class LangCollectors extends 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 Details

    • joining

      public static Collector<Object,?,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 Collector<Object,?,String> joining(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 Collector<Object,?,String> joining(CharSequence delimiter, CharSequence prefix, 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 Collector<Object,?,String> joining(CharSequence delimiter, CharSequence prefix, CharSequence suffix, Function<Object,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