Class WindowImpl<T>

  • All Implemented Interfaces:
    Collectable<T>, Window<T>

    class WindowImpl<T>
    extends java.lang.Object
    implements Window<T>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) int index  
      (package private) long lower  
      (package private) java.util.Comparator<? super T> order  
      (package private) Partition<T> partition  
      (package private) long upper  
      (package private) Tuple2<T,​java.lang.Long> value  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean allMatch​(java.util.function.Predicate<? super T> predicate)
      Whether all elements in the collectable match a given predicate.
      boolean anyMatch​(java.util.function.Predicate<? super T> predicate)
      Whether any element in the collectable matches a given predicate.
      java.util.Optional<T> avg()
      Get the average of the elements in this collectable.
      <U> java.util.Optional<U> avg​(java.util.function.Function<? super T,​? extends U> function)
      Get the average of the elements in this collectable.
      double avgDouble​(java.util.function.ToDoubleFunction<? super T> function)
      Get the average of the elements in this collectable as double.
      double avgInt​(java.util.function.ToIntFunction<? super T> function)
      Get the average of the elements in this collectable as int.
      double avgLong​(java.util.function.ToLongFunction<? super T> function)
      Get the average of the elements in this collectable as long.
      java.util.Optional<T> bitAnd()
      Collect all bits in this stream into a single value by applying bitwise and.
      <U> java.util.Optional<U> bitAnd​(java.util.function.Function<? super T,​? extends U> function)
      Collect all bits in this stream into a single value by applying bitwise and.
      int bitAndInt​(java.util.function.ToIntFunction<? super T> function)
      Collect all bits in this stream into a single value by applying bitwise and.
      long bitAndLong​(java.util.function.ToLongFunction<? super T> function)
      Collect all bits in this stream into a single value by applying bitwise and.
      java.util.Optional<T> bitOr()
      Collect all bits in this stream into a single value by applying bitwise or.
      <U> java.util.Optional<U> bitOr​(java.util.function.Function<? super T,​? extends U> function)
      Collect all bits in this stream into a single value by applying bitwise or.
      int bitOrInt​(java.util.function.ToIntFunction<? super T> function)
      Collect all bits in this stream into a single value by applying bitwise or.
      long bitOrLong​(java.util.function.ToLongFunction<? super T> function)
      Collect all bits in this stream into a single value by applying bitwise or.
      <R,​A>
      R
      collect​(java.util.stream.Collector<? super T,​A,​R> collector)
      Collect this collectable.
      java.lang.String commonPrefix()
      Get the common prefix of all strings (or to-stringed values) in this stream.
      java.lang.String commonSuffix()
      Get the common prefix of all strings (or to-stringed values) in this stream.
      private boolean completePartition()  
      long count()
      Count the values in this collectable.
      long count​(java.util.function.Predicate<? super T> predicate)
      Count the values in this collectable, for which a predicate evaluates to true.
      long countDistinct()
      Count the distinct values in this collectable.
      long countDistinct​(java.util.function.Predicate<? super T> predicate)
      Count the distinct values in this collectable, for which a predicate evaluates to true.
      <U> long countDistinctBy​(java.util.function.Function<? super T,​? extends U> function)
      Count the distinct values of a given expression in this collectable.
      <U> long countDistinctBy​(java.util.function.Function<? super T,​? extends U> function, java.util.function.Predicate<? super U> predicate)
      Count the distinct values of a given expression in this collectable, for which a predicate evaluates to true.
      long denseRank()
      The dense rank of the current row within the partition.
      java.util.Optional<T> firstValue()
      The first value in the window.
      <U> java.util.Optional<U> firstValue​(java.util.function.Function<? super T,​? extends U> function)
      The first value in the window.
      java.util.Optional<T> lag()
      The previous value in the window.
      java.util.Optional<T> lag​(long lag)
      The previous value by lag in the window.
      java.util.Optional<T> lastValue()
      The last value in the window.
      <U> java.util.Optional<U> lastValue​(java.util.function.Function<? super T,​? extends U> function)
      The last value in the window.
      java.util.Optional<T> lead()
      The next value in the window.
      java.util.Optional<T> lead​(long lead)
      The next value by lead in the window.
      private java.util.Optional<T> lead0​(long lead)  
      private int lower()  
      private boolean lowerInPartition()  
      java.util.Optional<T> max()
      Get the maximum value.
      java.util.Optional<T> max​(java.util.Comparator<? super T> comparator)
      Get the maximum value by a function.
      <U extends java.lang.Comparable<? super U>>
      java.util.Optional<U>
      max​(java.util.function.Function<? super T,​? extends U> function)
      Get the maximum value by a function.
      <U> java.util.Optional<U> max​(java.util.function.Function<? super T,​? extends U> function, java.util.Comparator<? super U> comparator)
      Get the maximum value by a function.
      Seq<T> maxAll()
      Get the maximum values.
      Seq<T> maxAll​(java.util.Comparator<? super T> comparator)
      Get the maximum values by a function.
      <U extends java.lang.Comparable<? super U>>
      Seq<U>
      maxAll​(java.util.function.Function<? super T,​? extends U> function)
      Get the maximum values by a function.
      <U> Seq<U> maxAll​(java.util.function.Function<? super T,​? extends U> function, java.util.Comparator<? super U> comparator)
      Get the maximum values by a function.
      <U extends java.lang.Comparable<? super U>>
      Seq<T>
      maxAllBy​(java.util.function.Function<? super T,​? extends U> function)
      Get the maximum values by a function.
      <U> Seq<T> maxAllBy​(java.util.function.Function<? super T,​? extends U> function, java.util.Comparator<? super U> comparator)
      Get the maximum values by a function.
      <U extends java.lang.Comparable<? super U>>
      java.util.Optional<T>
      maxBy​(java.util.function.Function<? super T,​? extends U> function)
      Get the maximum value by a function.
      <U> java.util.Optional<T> maxBy​(java.util.function.Function<? super T,​? extends U> function, java.util.Comparator<? super U> comparator)
      Get the maximum value by a function.
      java.util.Optional<T> median()
      Get the median value.
      java.util.Optional<T> median​(java.util.Comparator<? super T> comparator)
      Get the median value.
      <U extends java.lang.Comparable<? super U>>
      java.util.Optional<T>
      medianBy​(java.util.function.Function<? super T,​? extends U> function)
      Get the median value by a function.
      <U> java.util.Optional<T> medianBy​(java.util.function.Function<? super T,​? extends U> function, java.util.Comparator<? super U> comparator)
      Get the median value by a function.
      java.util.Optional<T> min()
      Get the minimum value.
      java.util.Optional<T> min​(java.util.Comparator<? super T> comparator)
      Get the minimum value by a function.
      <U extends java.lang.Comparable<? super U>>
      java.util.Optional<U>
      min​(java.util.function.Function<? super T,​? extends U> function)
      Get the minimum value by a function.
      <U> java.util.Optional<U> min​(java.util.function.Function<? super T,​? extends U> function, java.util.Comparator<? super U> comparator)
      Get the minimum value by a function.
      Seq<T> minAll()
      Get the minimum values.
      Seq<T> minAll​(java.util.Comparator<? super T> comparator)
      Get the minimum values by a function.
      <U extends java.lang.Comparable<? super U>>
      Seq<U>
      minAll​(java.util.function.Function<? super T,​? extends U> function)
      Get the minimum values by a function.
      <U> Seq<U> minAll​(java.util.function.Function<? super T,​? extends U> function, java.util.Comparator<? super U> comparator)
      Get the minimum values by a function.
      <U extends java.lang.Comparable<? super U>>
      Seq<T>
      minAllBy​(java.util.function.Function<? super T,​? extends U> function)
      Get the minimum values by a function.
      <U> Seq<T> minAllBy​(java.util.function.Function<? super T,​? extends U> function, java.util.Comparator<? super U> comparator)
      Get the minimum values by a function.
      <U extends java.lang.Comparable<? super U>>
      java.util.Optional<T>
      minBy​(java.util.function.Function<? super T,​? extends U> function)
      Get the minimum value by a function.
      <U> java.util.Optional<T> minBy​(java.util.function.Function<? super T,​? extends U> function, java.util.Comparator<? super U> comparator)
      Get the minimum value by a function.
      java.util.Optional<T> mode()
      Get the mode, i.e.
      Seq<T> modeAll()
      Get the mode, i.e.
      <U> Seq<T> modeAllBy​(java.util.function.Function<? super T,​? extends U> function)
      Get the mode, i.e.
      <U> java.util.Optional<T> modeBy​(java.util.function.Function<? super T,​? extends U> function)
      Get the mode, i.e.
      boolean noneMatch​(java.util.function.Predicate<? super T> predicate)
      Whether no element in the collectable matches a given predicate.
      java.util.Optional<T> nthValue​(long n)
      The nth value in the window.
      <U> java.util.Optional<U> nthValue​(long n, java.util.function.Function<? super T,​? extends U> function)
      The nth value in the window.
      long ntile​(long bucket)
      The bucket number ("ntile") of the current row within the partition.
      java.util.Optional<T> percentile​(double percentile)
      Get the discrete percentile value.
      java.util.Optional<T> percentile​(double percentile, java.util.Comparator<? super T> comparator)
      Get the discrete percentile value.
      <U extends java.lang.Comparable<? super U>>
      java.util.Optional<T>
      percentileBy​(double percentile, java.util.function.Function<? super T,​? extends U> function)
      Get the discrete percentile value by a function.
      <U> java.util.Optional<T> percentileBy​(double percentile, java.util.function.Function<? super T,​? extends U> function, java.util.Comparator<? super U> comparator)
      Get the discrete percentile value by a function.
      double percentRank()
      The precent rank of the current row within the partition.
      long rank()
      The rank of the current row within the partition.
      long rowNumber()
      The row number of the current row within the partition.
      java.util.Optional<T> sum()
      Get the sum of the elements in this collectable.
      <U> java.util.Optional<U> sum​(java.util.function.Function<? super T,​? extends U> function)
      Get the sum of the elements in this collectable.
      double sumDouble​(java.util.function.ToDoubleFunction<? super T> function)
      Get the sum of the elements in this collectable as double.
      int sumInt​(java.util.function.ToIntFunction<? super T> function)
      Get the sum of the elements in this collectable as int.
      long sumLong​(java.util.function.ToLongFunction<? super T> function)
      Get the sum of the elements in this collectable as long.
      <C extends java.util.Collection<T>>
      C
      toCollection​(java.util.function.Supplier<C> factory)
      Collect the collectable into a Collection.
      java.util.List<T> toList()
      Collect the collectable into an ArrayList.
      <L extends java.util.List<T>>
      L
      toList​(java.util.function.Supplier<L> factory)
      Collect the collectable into a List.
      <K> java.util.Map<K,​T> toMap​(java.util.function.Function<? super T,​? extends K> keyMapper)
      Collect the collectable into a Map with the given keys and the self element as value.
      <K,​V>
      java.util.Map<K,​V>
      toMap​(java.util.function.Function<? super T,​? extends K> keyMapper, java.util.function.Function<? super T,​? extends V> valueMapper)
      Collect the collectable into a Map.
      java.util.Set<T> toSet()
      Collect the collectable into a LinkedHashSet.
      <S extends java.util.Set<T>>
      S
      toSet​(java.util.function.Supplier<S> factory)
      Collect the collectable into a Set.
      java.lang.String toString()  
      java.lang.String toString​(java.lang.CharSequence delimiter)
      Consume a stream and concatenate all elements using a separator.
      java.lang.String toString​(java.lang.CharSequence delimiter, java.lang.CharSequence prefix, java.lang.CharSequence suffix)
      Shortcut for calling Stream.collect(Collector) with a Collectors.joining(CharSequence, CharSequence, CharSequence) collector.
      java.util.List<T> toUnmodifiableList()
      Collect the collectable into an unmodifiable List.
      java.util.Set<T> toUnmodifiableSet()
      Collect the collectable into an unmodifiable Set.
      private int upper()  
      private boolean upperInPartition()  
      T value()
      The value of the current row in the window.
      Seq<T> window()
      Stream all elements in the window.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • value

        final Tuple2<T,​java.lang.Long> value
      • index

        final int index
      • order

        final java.util.Comparator<? super T> order
      • lower

        final long lower
      • upper

        final long upper
    • Method Detail

      • value

        public T value()
        Description copied from interface: Window
        The value of the current row in the window.
        Specified by:
        value in interface Window<T>
      • window

        public Seq<T> window()
        Description copied from interface: Window
        Stream all elements in the window.
        Specified by:
        window in interface Window<T>
      • lower

        private int lower()
      • lowerInPartition

        private boolean lowerInPartition()
      • upper

        private int upper()
      • upperInPartition

        private boolean upperInPartition()
      • completePartition

        private boolean completePartition()
      • rowNumber

        public long rowNumber()
        Description copied from interface: Window
        The row number of the current row within the partition.

        
         // (1, 2, 3, 4, 5)
         Seq.of(1, 2, 4, 2, 3).window().map(w -> w.rowNumber());
         
        Specified by:
        rowNumber in interface Window<T>
      • rank

        public long rank()
        Description copied from interface: Window
        The rank of the current row within the partition.

        
         // (1, 2, 2, 4, 5)
         Seq.of(1, 2, 2, 3, 4).window(naturalOrder()).map(w -> w.rank());
         
        Specified by:
        rank in interface Window<T>
      • denseRank

        public long denseRank()
        Description copied from interface: Window
        The dense rank of the current row within the partition.

        
         // (1, 2, 2, 3, 4)
         Seq.of(1, 2, 2, 3, 4).window(naturalOrder()).map(w -> w.denseRank());
         
        Specified by:
        denseRank in interface Window<T>
      • percentRank

        public double percentRank()
        Description copied from interface: Window
        The precent rank of the current row within the partition.

        
         // (0.0, 0.25, 0.25, 0.75, 1.0)
         Seq.of(1, 2, 2, 3, 4).window(naturalOrder()).map(w -> w.percentRank());
         
        Specified by:
        percentRank in interface Window<T>
      • ntile

        public long ntile​(long bucket)
        Description copied from interface: Window
        The bucket number ("ntile") of the current row within the partition.

        
         // (0, 0, 1, 1, 2)
         Seq.of(1, 2, 2, 3, 4).window(naturalOrder()).map(w -> w.ntile(3));
         
        Specified by:
        ntile in interface Window<T>
      • lead

        public java.util.Optional<T> lead()
        Description copied from interface: Window
        The next value in the window.

        This is the same as calling lead(1)

        
         // (2, 2, 3, 4, empty)
         Seq.of(1, 2, 2, 3, 4).window().map(w -> w.lead());
         
        Specified by:
        lead in interface Window<T>
      • lead

        public java.util.Optional<T> lead​(long lead)
        Description copied from interface: Window
        The next value by lead in the window.

        
         // (2, 2, 3, 4, empty)
         Seq.of(1, 2, 2, 3, 4).window().map(w -> w.lead());
         
        Specified by:
        lead in interface Window<T>
      • lag

        public java.util.Optional<T> lag()
        Description copied from interface: Window
        The previous value in the window.

        This is the same as calling lag(1)

        
         // (empty, 1, 2, 2, 3)
         Seq.of(1, 2, 2, 3, 4).window().map(w -> w.lag());
         
        Specified by:
        lag in interface Window<T>
      • lag

        public java.util.Optional<T> lag​(long lag)
        Description copied from interface: Window
        The previous value by lag in the window.

        
         // (empty, 1, 2, 2, 3)
         Seq.of(1, 2, 2, 3, 4).window().map(w -> w.lag());
         
        Specified by:
        lag in interface Window<T>
      • lead0

        private java.util.Optional<T> lead0​(long lead)
      • firstValue

        public java.util.Optional<T> firstValue()
        Description copied from interface: Window
        The first value in the window.

        
         // (1, 1, 1, 1, 1)
         Seq.of(1, 2, 4, 2, 3).window().map(w -> w.firstValue());
         
        Specified by:
        firstValue in interface Window<T>
      • firstValue

        public <U> java.util.Optional<U> firstValue​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Window
        The first value in the window.

        
         // (1, 1, 1, 1, 1)
         Seq.of(1, 2, 4, 2, 3).window().map(w -> w.firstValue());
         
        Specified by:
        firstValue in interface Window<T>
      • lastValue

        public java.util.Optional<T> lastValue()
        Description copied from interface: Window
        The last value in the window.

        
         // (3, 3, 3, 3, 3)
         Seq.of(1, 2, 4, 2, 3).window().map(w -> w.lastValue());
         
        Specified by:
        lastValue in interface Window<T>
      • lastValue

        public <U> java.util.Optional<U> lastValue​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Window
        The last value in the window.

        
         // (3, 3, 3, 3, 3)
         Seq.of(1, 2, 4, 2, 3).window().map(w -> w.lastValue());
         
        Specified by:
        lastValue in interface Window<T>
      • nthValue

        public java.util.Optional<T> nthValue​(long n)
        Description copied from interface: Window
        The nth value in the window.

        
         // (4, 4, 4, 4, 4)
         Seq.of(1, 2, 4, 2, 3).window().map(w -> w.nthValue(2));
         
        Specified by:
        nthValue in interface Window<T>
      • nthValue

        public <U> java.util.Optional<U> nthValue​(long n,
                                                  java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Window
        The nth value in the window.

        
         // (4, 4, 4, 4, 4)
         Seq.of(1, 2, 4, 2, 3).window().map(w -> w.nthValue(2));
         
        Specified by:
        nthValue in interface Window<T>
      • count

        public long count()
        Description copied from interface: Collectable
        Count the values in this collectable.
        Specified by:
        count in interface Collectable<T>
      • count

        public long count​(java.util.function.Predicate<? super T> predicate)
        Description copied from interface: Collectable
        Count the values in this collectable, for which a predicate evaluates to true.
        Specified by:
        count in interface Collectable<T>
      • countDistinct

        public long countDistinct()
        Description copied from interface: Collectable
        Count the distinct values in this collectable.
        Specified by:
        countDistinct in interface Collectable<T>
      • countDistinct

        public long countDistinct​(java.util.function.Predicate<? super T> predicate)
        Description copied from interface: Collectable
        Count the distinct values in this collectable, for which a predicate evaluates to true.
        Specified by:
        countDistinct in interface Collectable<T>
      • countDistinctBy

        public <U> long countDistinctBy​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Collectable
        Count the distinct values of a given expression in this collectable.
        Specified by:
        countDistinctBy in interface Collectable<T>
      • countDistinctBy

        public <U> long countDistinctBy​(java.util.function.Function<? super T,​? extends U> function,
                                        java.util.function.Predicate<? super U> predicate)
        Description copied from interface: Collectable
        Count the distinct values of a given expression in this collectable, for which a predicate evaluates to true.
        Specified by:
        countDistinctBy in interface Collectable<T>
      • sum

        public java.util.Optional<T> sum()
        Description copied from interface: Collectable
        Get the sum of the elements in this collectable.
        Specified by:
        sum in interface Collectable<T>
      • sum

        public <U> java.util.Optional<U> sum​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Collectable
        Get the sum of the elements in this collectable.
        Specified by:
        sum in interface Collectable<T>
      • sumInt

        public int sumInt​(java.util.function.ToIntFunction<? super T> function)
        Description copied from interface: Collectable
        Get the sum of the elements in this collectable as int.
        Specified by:
        sumInt in interface Collectable<T>
      • sumLong

        public long sumLong​(java.util.function.ToLongFunction<? super T> function)
        Description copied from interface: Collectable
        Get the sum of the elements in this collectable as long.
        Specified by:
        sumLong in interface Collectable<T>
      • sumDouble

        public double sumDouble​(java.util.function.ToDoubleFunction<? super T> function)
        Description copied from interface: Collectable
        Get the sum of the elements in this collectable as double.
        Specified by:
        sumDouble in interface Collectable<T>
      • avg

        public java.util.Optional<T> avg()
        Description copied from interface: Collectable
        Get the average of the elements in this collectable.
        Specified by:
        avg in interface Collectable<T>
      • avg

        public <U> java.util.Optional<U> avg​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Collectable
        Get the average of the elements in this collectable.
        Specified by:
        avg in interface Collectable<T>
      • avgInt

        public double avgInt​(java.util.function.ToIntFunction<? super T> function)
        Description copied from interface: Collectable
        Get the average of the elements in this collectable as int.
        Specified by:
        avgInt in interface Collectable<T>
      • avgLong

        public double avgLong​(java.util.function.ToLongFunction<? super T> function)
        Description copied from interface: Collectable
        Get the average of the elements in this collectable as long.
        Specified by:
        avgLong in interface Collectable<T>
      • avgDouble

        public double avgDouble​(java.util.function.ToDoubleFunction<? super T> function)
        Description copied from interface: Collectable
        Get the average of the elements in this collectable as double.
        Specified by:
        avgDouble in interface Collectable<T>
      • min

        public java.util.Optional<T> min()
        Description copied from interface: Collectable
        Get the minimum value.

        This makes the unsafe assumption that <T extends Comparable<? super T>>

        Specified by:
        min in interface Collectable<T>
      • min

        public java.util.Optional<T> min​(java.util.Comparator<? super T> comparator)
        Description copied from interface: Collectable
        Get the minimum value by a function.
        Specified by:
        min in interface Collectable<T>
      • min

        public <U extends java.lang.Comparable<? super U>> java.util.Optional<U> min​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Collectable
        Get the minimum value by a function.
        Specified by:
        min in interface Collectable<T>
      • min

        public <U> java.util.Optional<U> min​(java.util.function.Function<? super T,​? extends U> function,
                                             java.util.Comparator<? super U> comparator)
        Description copied from interface: Collectable
        Get the minimum value by a function.
        Specified by:
        min in interface Collectable<T>
      • minBy

        public <U extends java.lang.Comparable<? super U>> java.util.Optional<T> minBy​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Collectable
        Get the minimum value by a function.
        Specified by:
        minBy in interface Collectable<T>
      • minBy

        public <U> java.util.Optional<T> minBy​(java.util.function.Function<? super T,​? extends U> function,
                                               java.util.Comparator<? super U> comparator)
        Description copied from interface: Collectable
        Get the minimum value by a function.
        Specified by:
        minBy in interface Collectable<T>
      • minAll

        public Seq<T> minAll()
        Description copied from interface: Collectable
        Get the minimum values.

        This makes the unsafe assumption that <T extends Comparable<? super T>>

        Specified by:
        minAll in interface Collectable<T>
      • minAll

        public Seq<T> minAll​(java.util.Comparator<? super T> comparator)
        Description copied from interface: Collectable
        Get the minimum values by a function.
        Specified by:
        minAll in interface Collectable<T>
      • minAll

        public <U extends java.lang.Comparable<? super U>> Seq<U> minAll​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Collectable
        Get the minimum values by a function.
        Specified by:
        minAll in interface Collectable<T>
      • minAll

        public <U> Seq<U> minAll​(java.util.function.Function<? super T,​? extends U> function,
                                 java.util.Comparator<? super U> comparator)
        Description copied from interface: Collectable
        Get the minimum values by a function.
        Specified by:
        minAll in interface Collectable<T>
      • minAllBy

        public <U extends java.lang.Comparable<? super U>> Seq<T> minAllBy​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Collectable
        Get the minimum values by a function.
        Specified by:
        minAllBy in interface Collectable<T>
      • minAllBy

        public <U> Seq<T> minAllBy​(java.util.function.Function<? super T,​? extends U> function,
                                   java.util.Comparator<? super U> comparator)
        Description copied from interface: Collectable
        Get the minimum values by a function.
        Specified by:
        minAllBy in interface Collectable<T>
      • max

        public java.util.Optional<T> max()
        Description copied from interface: Collectable
        Get the maximum value.

        This makes the unsafe assumption that <T extends Comparable<? super T>>

        Specified by:
        max in interface Collectable<T>
      • max

        public java.util.Optional<T> max​(java.util.Comparator<? super T> comparator)
        Description copied from interface: Collectable
        Get the maximum value by a function.
        Specified by:
        max in interface Collectable<T>
      • max

        public <U extends java.lang.Comparable<? super U>> java.util.Optional<U> max​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Collectable
        Get the maximum value by a function.
        Specified by:
        max in interface Collectable<T>
      • max

        public <U> java.util.Optional<U> max​(java.util.function.Function<? super T,​? extends U> function,
                                             java.util.Comparator<? super U> comparator)
        Description copied from interface: Collectable
        Get the maximum value by a function.
        Specified by:
        max in interface Collectable<T>
      • maxBy

        public <U extends java.lang.Comparable<? super U>> java.util.Optional<T> maxBy​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Collectable
        Get the maximum value by a function.
        Specified by:
        maxBy in interface Collectable<T>
      • maxBy

        public <U> java.util.Optional<T> maxBy​(java.util.function.Function<? super T,​? extends U> function,
                                               java.util.Comparator<? super U> comparator)
        Description copied from interface: Collectable
        Get the maximum value by a function.
        Specified by:
        maxBy in interface Collectable<T>
      • maxAll

        public Seq<T> maxAll()
        Description copied from interface: Collectable
        Get the maximum values.

        This makes the unsafe assumption that <T extends Comparable<? super T>>

        Specified by:
        maxAll in interface Collectable<T>
      • maxAll

        public Seq<T> maxAll​(java.util.Comparator<? super T> comparator)
        Description copied from interface: Collectable
        Get the maximum values by a function.
        Specified by:
        maxAll in interface Collectable<T>
      • maxAll

        public <U extends java.lang.Comparable<? super U>> Seq<U> maxAll​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Collectable
        Get the maximum values by a function.
        Specified by:
        maxAll in interface Collectable<T>
      • maxAll

        public <U> Seq<U> maxAll​(java.util.function.Function<? super T,​? extends U> function,
                                 java.util.Comparator<? super U> comparator)
        Description copied from interface: Collectable
        Get the maximum values by a function.
        Specified by:
        maxAll in interface Collectable<T>
      • maxAllBy

        public <U extends java.lang.Comparable<? super U>> Seq<T> maxAllBy​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Collectable
        Get the maximum values by a function.
        Specified by:
        maxAllBy in interface Collectable<T>
      • maxAllBy

        public <U> Seq<T> maxAllBy​(java.util.function.Function<? super T,​? extends U> function,
                                   java.util.Comparator<? super U> comparator)
        Description copied from interface: Collectable
        Get the maximum values by a function.
        Specified by:
        maxAllBy in interface Collectable<T>
      • median

        public java.util.Optional<T> median()
        Description copied from interface: Collectable
        Get the median value.

        This makes the unsafe assumption that <T extends Comparable<? super T>>

        Specified by:
        median in interface Collectable<T>
      • median

        public java.util.Optional<T> median​(java.util.Comparator<? super T> comparator)
        Description copied from interface: Collectable
        Get the median value.
        Specified by:
        median in interface Collectable<T>
      • medianBy

        public <U extends java.lang.Comparable<? super U>> java.util.Optional<T> medianBy​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Collectable
        Get the median value by a function.
        Specified by:
        medianBy in interface Collectable<T>
      • medianBy

        public <U> java.util.Optional<T> medianBy​(java.util.function.Function<? super T,​? extends U> function,
                                                  java.util.Comparator<? super U> comparator)
        Description copied from interface: Collectable
        Get the median value by a function.
        Specified by:
        medianBy in interface Collectable<T>
      • percentile

        public java.util.Optional<T> percentile​(double percentile)
        Description copied from interface: Collectable
        Get the discrete percentile value.

        This makes the unsafe assumption that <T extends Comparable<? super T>>

        Specified by:
        percentile in interface Collectable<T>
      • percentile

        public java.util.Optional<T> percentile​(double percentile,
                                                java.util.Comparator<? super T> comparator)
        Description copied from interface: Collectable
        Get the discrete percentile value.
        Specified by:
        percentile in interface Collectable<T>
      • percentileBy

        public <U extends java.lang.Comparable<? super U>> java.util.Optional<T> percentileBy​(double percentile,
                                                                                              java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Collectable
        Get the discrete percentile value by a function.
        Specified by:
        percentileBy in interface Collectable<T>
      • percentileBy

        public <U> java.util.Optional<T> percentileBy​(double percentile,
                                                      java.util.function.Function<? super T,​? extends U> function,
                                                      java.util.Comparator<? super U> comparator)
        Description copied from interface: Collectable
        Get the discrete percentile value by a function.
        Specified by:
        percentileBy in interface Collectable<T>
      • mode

        public java.util.Optional<T> mode()
        Description copied from interface: Collectable
        Get the mode, i.e. the value that appears most often in the collectable.
        Specified by:
        mode in interface Collectable<T>
      • modeBy

        public <U> java.util.Optional<T> modeBy​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Collectable
        Get the mode, i.e. the value that appears most often in the collectable.
        Specified by:
        modeBy in interface Collectable<T>
      • modeAll

        public Seq<T> modeAll()
        Description copied from interface: Collectable
        Get the mode, i.e. the values that appear most often in the collectable.
        Specified by:
        modeAll in interface Collectable<T>
      • modeAllBy

        public <U> Seq<T> modeAllBy​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Collectable
        Get the mode, i.e. the values that appear most often in the collectable.
        Specified by:
        modeAllBy in interface Collectable<T>
      • allMatch

        public boolean allMatch​(java.util.function.Predicate<? super T> predicate)
        Description copied from interface: Collectable
        Whether all elements in the collectable match a given predicate.
        Specified by:
        allMatch in interface Collectable<T>
      • anyMatch

        public boolean anyMatch​(java.util.function.Predicate<? super T> predicate)
        Description copied from interface: Collectable
        Whether any element in the collectable matches a given predicate.
        Specified by:
        anyMatch in interface Collectable<T>
      • noneMatch

        public boolean noneMatch​(java.util.function.Predicate<? super T> predicate)
        Description copied from interface: Collectable
        Whether no element in the collectable matches a given predicate.
        Specified by:
        noneMatch in interface Collectable<T>
      • bitAnd

        public java.util.Optional<T> bitAnd()
        Description copied from interface: Collectable
        Collect all bits in this stream into a single value by applying bitwise and.
        Specified by:
        bitAnd in interface Collectable<T>
      • bitAnd

        public <U> java.util.Optional<U> bitAnd​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Collectable
        Collect all bits in this stream into a single value by applying bitwise and.
        Specified by:
        bitAnd in interface Collectable<T>
      • bitAndInt

        public int bitAndInt​(java.util.function.ToIntFunction<? super T> function)
        Description copied from interface: Collectable
        Collect all bits in this stream into a single value by applying bitwise and.
        Specified by:
        bitAndInt in interface Collectable<T>
      • bitAndLong

        public long bitAndLong​(java.util.function.ToLongFunction<? super T> function)
        Description copied from interface: Collectable
        Collect all bits in this stream into a single value by applying bitwise and.
        Specified by:
        bitAndLong in interface Collectable<T>
      • bitOr

        public java.util.Optional<T> bitOr()
        Description copied from interface: Collectable
        Collect all bits in this stream into a single value by applying bitwise or.
        Specified by:
        bitOr in interface Collectable<T>
      • bitOr

        public <U> java.util.Optional<U> bitOr​(java.util.function.Function<? super T,​? extends U> function)
        Description copied from interface: Collectable
        Collect all bits in this stream into a single value by applying bitwise or.
        Specified by:
        bitOr in interface Collectable<T>
      • bitOrInt

        public int bitOrInt​(java.util.function.ToIntFunction<? super T> function)
        Description copied from interface: Collectable
        Collect all bits in this stream into a single value by applying bitwise or.
        Specified by:
        bitOrInt in interface Collectable<T>
      • bitOrLong

        public long bitOrLong​(java.util.function.ToLongFunction<? super T> function)
        Description copied from interface: Collectable
        Collect all bits in this stream into a single value by applying bitwise or.
        Specified by:
        bitOrLong in interface Collectable<T>
      • collect

        public <R,​A> R collect​(java.util.stream.Collector<? super T,​A,​R> collector)
        Description copied from interface: Collectable
        Collect this collectable.
        Specified by:
        collect in interface Collectable<T>
      • toList

        public java.util.List<T> toList()
        Description copied from interface: Collectable
        Collect the collectable into an ArrayList.
        Specified by:
        toList in interface Collectable<T>
      • toList

        public <L extends java.util.List<T>> L toList​(java.util.function.Supplier<L> factory)
        Description copied from interface: Collectable
        Collect the collectable into a List.
        Specified by:
        toList in interface Collectable<T>
      • toUnmodifiableList

        public java.util.List<T> toUnmodifiableList()
        Description copied from interface: Collectable
        Collect the collectable into an unmodifiable List.
        Specified by:
        toUnmodifiableList in interface Collectable<T>
      • toSet

        public java.util.Set<T> toSet()
        Description copied from interface: Collectable
        Collect the collectable into a LinkedHashSet.
        Specified by:
        toSet in interface Collectable<T>
      • toSet

        public <S extends java.util.Set<T>> S toSet​(java.util.function.Supplier<S> factory)
        Description copied from interface: Collectable
        Collect the collectable into a Set.
        Specified by:
        toSet in interface Collectable<T>
      • toUnmodifiableSet

        public java.util.Set<T> toUnmodifiableSet()
        Description copied from interface: Collectable
        Collect the collectable into an unmodifiable Set.
        Specified by:
        toUnmodifiableSet in interface Collectable<T>
      • toCollection

        public <C extends java.util.Collection<T>> C toCollection​(java.util.function.Supplier<C> factory)
        Description copied from interface: Collectable
        Collect the collectable into a Collection.
        Specified by:
        toCollection in interface Collectable<T>
      • toMap

        public <K,​V> java.util.Map<K,​V> toMap​(java.util.function.Function<? super T,​? extends K> keyMapper,
                                                          java.util.function.Function<? super T,​? extends V> valueMapper)
        Description copied from interface: Collectable
        Collect the collectable into a Map.
        Specified by:
        toMap in interface Collectable<T>
      • toMap

        public <K> java.util.Map<K,​T> toMap​(java.util.function.Function<? super T,​? extends K> keyMapper)
        Description copied from interface: Collectable
        Collect the collectable into a Map with the given keys and the self element as value.
        Specified by:
        toMap in interface Collectable<T>
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • toString

        public java.lang.String toString​(java.lang.CharSequence delimiter)
        Description copied from interface: Collectable
        Consume a stream and concatenate all elements using a separator.
        Specified by:
        toString in interface Collectable<T>
      • toString

        public java.lang.String toString​(java.lang.CharSequence delimiter,
                                         java.lang.CharSequence prefix,
                                         java.lang.CharSequence suffix)
        Description copied from interface: Collectable
        Shortcut for calling Stream.collect(Collector) with a Collectors.joining(CharSequence, CharSequence, CharSequence) collector.
        Specified by:
        toString in interface Collectable<T>
      • commonPrefix

        public java.lang.String commonPrefix()
        Description copied from interface: Collectable
        Get the common prefix of all strings (or to-stringed values) in this stream.
        Specified by:
        commonPrefix in interface Collectable<T>
      • commonSuffix

        public java.lang.String commonSuffix()
        Description copied from interface: Collectable
        Get the common prefix of all strings (or to-stringed values) in this stream.
        Specified by:
        commonSuffix in interface Collectable<T>