Interface Seq<T>

All Superinterfaces:
AutoCloseable, BaseStream<T,Stream<T>>, Collectable<T>, Iterable<T>, Stream<T>

public interface Seq<T> extends Stream<T>, Iterable<T>, Collectable<T>
A sequential, ordered Stream that adds all sorts of useful methods that work only because it is sequential and ordered.
Author:
Lukas Eder, Roman Tkalenko, Tomasz Linkowski
  • Nested Class Summary

    Nested classes/interfaces inherited from interface java.util.stream.Stream

    Stream.Builder<T extends Object>
  • Method Summary

    Modifier and Type
    Method
    Description
    default Seq<T>
    append(Iterable<? extends T> other)
    Concatenate two streams.
    default Seq<T>
    append(Optional<? extends T> other)
    Concatenate an optional value.
    default Seq<T>
    append(Stream<? extends T> other)
    Concatenate two streams.
    default Seq<T>
    append(Seq<? extends T> other)
    Concatenate two streams.
    default Seq<T>
    append(T other)
    Concatenate two streams.
    default Seq<T>
    append(T... other)
    Concatenate two streams.
    default <U> Seq<U>
    cast(Class<? extends U> type)
    Cast all elements in a stream to a given type, possibly throwing a ClassCastException.
    static <T, U> Seq<U>
    cast(Stream<? extends T> stream, Class<? extends U> type)
    Cast all elements in a stream to a given type, possibly throwing a ClassCastException.
    void
     
    default Seq<T>
    concat(Iterable<? extends T> other)
    Concatenate two streams.
    static <T> Seq<T>
    concat(Iterable<? extends T>... iterables)
    Concatenate a number of streams.
    default Seq<T>
    concat(Optional<? extends T> other)
    Concatenate an optional value.
    static <T> Seq<T>
    concat(Optional<? extends T>... optionals)
    Concatenate a number of optionals.
    default Seq<T>
    concat(Stream<? extends T> other)
    Concatenate two streams.
    static <T> Seq<T>
    concat(Stream<? extends T>... streams)
    Concatenate a number of streams.
    default Seq<T>
    concat(Seq<? extends T> other)
    Concatenate two streams.
    static <T> Seq<T>
    concat(Seq<? extends T>... streams)
    Concatenate a number of streams.
    default Seq<T>
    concat(T other)
    Concatenate two streams.
    default Seq<T>
    concat(T... other)
    Concatenate two streams.
    default boolean
    contains(T other)
    Check whether this stream contains a given value.
    default boolean
    containsAll(Iterable<? extends T> other)
    Check whether this stream contains all given values.
    default boolean
    containsAll(Stream<? extends T> other)
    Check whether this stream contains all given values.
    default boolean
    containsAll(Seq<? extends T> other)
    Check whether this stream contains all given values.
    default boolean
    containsAll(T... other)
    Check whether this stream contains all given values.
    default boolean
    containsAny(Iterable<? extends T> other)
    Check whether this stream contains any of the given values.
    default boolean
    containsAny(Stream<? extends T> other)
    Check whether this stream contains any of the given values.
    default boolean
    containsAny(Seq<? extends T> other)
    Check whether this stream contains any of the given values.
    default boolean
    containsAny(T... other)
    Check whether this stream contains any of the given values.
    long
    Count the values in this collectable.
    static <T1, T2> Seq<Tuple2<T1,T2>>
    crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2)
    Cross apply 2 functions to a stream.
    static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>>
    crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3)
    Cross apply 3 functions to a stream.
    static <T1, T2, T3, T4>
    Seq<Tuple4<T1,T2,T3,T4>>
    crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4)
    Cross apply 4 functions to a stream.
    static <T1, T2, T3, T4, T5>
    Seq<Tuple5<T1,T2,T3,T4,T5>>
    crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5)
    Cross apply 5 functions to a stream.
    static <T1, T2, T3, T4, T5, T6>
    Seq<Tuple6<T1,T2,T3,T4,T5,T6>>
    crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6)
    Cross apply 6 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7>
    Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>>
    crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7)
    Cross apply 7 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8>
    Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>>
    crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8)
    Cross apply 8 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9>
    Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>>
    crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9)
    Cross apply 9 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
    Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>>
    crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10)
    Cross apply 10 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
    Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>>
    crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11)
    Cross apply 11 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
    Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>>
    crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12)
    Cross apply 12 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
    Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>>
    crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12, Function<? super T12,? extends Iterable<? extends T13>> function13)
    Cross apply 13 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
    Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>>
    crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12, Function<? super T12,? extends Iterable<? extends T13>> function13, Function<? super T13,? extends Iterable<? extends T14>> function14)
    Cross apply 14 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
    Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>>
    crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12, Function<? super T12,? extends Iterable<? extends T13>> function13, Function<? super T13,? extends Iterable<? extends T14>> function14, Function<? super T14,? extends Iterable<? extends T15>> function15)
    Cross apply 15 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
    Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>>
    crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12, Function<? super T12,? extends Iterable<? extends T13>> function13, Function<? super T13,? extends Iterable<? extends T14>> function14, Function<? super T14,? extends Iterable<? extends T15>> function15, Function<? super T15,? extends Iterable<? extends T16>> function16)
    Cross apply 16 functions to a stream.
    default <U> Seq<Tuple2<T,U>>
    crossApply(Function<? super T,? extends Iterable<? extends U>> function)
    Cross apply a function to this stream.
    static <T1, T2> Seq<Tuple2<T1,T2>>
    crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2)
    Cross apply 2 functions to a stream.
    static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>>
    crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3)
    Cross apply 3 functions to a stream.
    static <T1, T2, T3, T4>
    Seq<Tuple4<T1,T2,T3,T4>>
    crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4)
    Cross apply 4 functions to a stream.
    static <T1, T2, T3, T4, T5>
    Seq<Tuple5<T1,T2,T3,T4,T5>>
    crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5)
    Cross apply 5 functions to a stream.
    static <T1, T2, T3, T4, T5, T6>
    Seq<Tuple6<T1,T2,T3,T4,T5,T6>>
    crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6)
    Cross apply 6 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7>
    Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>>
    crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7)
    Cross apply 7 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8>
    Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>>
    crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8)
    Cross apply 8 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9>
    Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>>
    crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9)
    Cross apply 9 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
    Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>>
    crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10)
    Cross apply 10 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
    Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>>
    crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11)
    Cross apply 11 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
    Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>>
    crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12)
    Cross apply 12 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
    Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>>
    crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12, Function<? super T12,? extends Stream<? extends T13>> function13)
    Cross apply 13 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
    Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>>
    crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12, Function<? super T12,? extends Stream<? extends T13>> function13, Function<? super T13,? extends Stream<? extends T14>> function14)
    Cross apply 14 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
    Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>>
    crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12, Function<? super T12,? extends Stream<? extends T13>> function13, Function<? super T13,? extends Stream<? extends T14>> function14, Function<? super T14,? extends Stream<? extends T15>> function15)
    Cross apply 15 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
    Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>>
    crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12, Function<? super T12,? extends Stream<? extends T13>> function13, Function<? super T13,? extends Stream<? extends T14>> function14, Function<? super T14,? extends Stream<? extends T15>> function15, Function<? super T15,? extends Stream<? extends T16>> function16)
    Cross apply 16 functions to a stream.
    static <T1, T2> Seq<Tuple2<T1,T2>>
    crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2)
    Cross apply 2 functions to a stream.
    static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>>
    crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3)
    Cross apply 3 functions to a stream.
    static <T1, T2, T3, T4>
    Seq<Tuple4<T1,T2,T3,T4>>
    crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4)
    Cross apply 4 functions to a stream.
    static <T1, T2, T3, T4, T5>
    Seq<Tuple5<T1,T2,T3,T4,T5>>
    crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5)
    Cross apply 5 functions to a stream.
    static <T1, T2, T3, T4, T5, T6>
    Seq<Tuple6<T1,T2,T3,T4,T5,T6>>
    crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6)
    Cross apply 6 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7>
    Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>>
    crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7)
    Cross apply 7 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8>
    Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>>
    crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8)
    Cross apply 8 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9>
    Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>>
    crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9)
    Cross apply 9 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
    Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>>
    crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10)
    Cross apply 10 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
    Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>>
    crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11)
    Cross apply 11 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
    Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>>
    crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12)
    Cross apply 12 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
    Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>>
    crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12, Function<? super T12,? extends Seq<? extends T13>> function13)
    Cross apply 13 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
    Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>>
    crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12, Function<? super T12,? extends Seq<? extends T13>> function13, Function<? super T13,? extends Seq<? extends T14>> function14)
    Cross apply 14 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
    Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>>
    crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12, Function<? super T12,? extends Seq<? extends T13>> function13, Function<? super T13,? extends Seq<? extends T14>> function14, Function<? super T14,? extends Seq<? extends T15>> function15)
    Cross apply 15 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
    Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>>
    crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12, Function<? super T12,? extends Seq<? extends T13>> function13, Function<? super T13,? extends Seq<? extends T14>> function14, Function<? super T14,? extends Seq<? extends T15>> function15, Function<? super T15,? extends Seq<? extends T16>> function16)
    Cross apply 16 functions to a stream.
    static <T1, T2> Seq<Tuple2<T1,T2>>
    crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2)
    Cross join 2 streams into one.
    static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>>
    crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3)
    Cross join 3 streams into one.
    static <T1, T2, T3, T4>
    Seq<Tuple4<T1,T2,T3,T4>>
    crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4)
    Cross join 4 streams into one.
    static <T1, T2, T3, T4, T5>
    Seq<Tuple5<T1,T2,T3,T4,T5>>
    crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5)
    Cross join 5 streams into one.
    static <T1, T2, T3, T4, T5, T6>
    Seq<Tuple6<T1,T2,T3,T4,T5,T6>>
    crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6)
    Cross join 6 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7>
    Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>>
    crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7)
    Cross join 7 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8>
    Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>>
    crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8)
    Cross join 8 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9>
    Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>>
    crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9)
    Cross join 9 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
    Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>>
    crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10)
    Cross join 10 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
    Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>>
    crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11)
    Cross join 11 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
    Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>>
    crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12)
    Cross join 12 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
    Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>>
    crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13)
    Cross join 13 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
    Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>>
    crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14)
    Cross join 14 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
    Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>>
    crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14, Iterable<? extends T15> i15)
    Cross join 15 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
    Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>>
    crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14, Iterable<? extends T15> i15, Iterable<? extends T16> i16)
    Cross join 16 streams into one.
    default <U> Seq<Tuple2<T,U>>
    crossJoin(Iterable<? extends U> other)
    Cross join 2 streams into one.
    static <T1, T2> Seq<Tuple2<T1,T2>>
    crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2)
    Cross join 2 streams into one.
    static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>>
    crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3)
    Cross join 3 streams into one.
    static <T1, T2, T3, T4>
    Seq<Tuple4<T1,T2,T3,T4>>
    crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4)
    Cross join 4 streams into one.
    static <T1, T2, T3, T4, T5>
    Seq<Tuple5<T1,T2,T3,T4,T5>>
    crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5)
    Cross join 5 streams into one.
    static <T1, T2, T3, T4, T5, T6>
    Seq<Tuple6<T1,T2,T3,T4,T5,T6>>
    crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6)
    Cross join 6 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7>
    Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>>
    crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7)
    Cross join 7 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8>
    Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>>
    crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8)
    Cross join 8 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9>
    Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>>
    crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9)
    Cross join 9 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
    Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>>
    crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10)
    Cross join 10 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
    Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>>
    crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11)
    Cross join 11 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
    Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>>
    crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12)
    Cross join 12 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
    Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>>
    crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13)
    Cross join 13 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
    Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>>
    crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14)
    Cross join 14 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
    Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>>
    crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15)
    Cross join 15 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
    Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>>
    crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15, Stream<? extends T16> s16)
    Cross join 16 streams into one.
    default <U> Seq<Tuple2<T,U>>
    crossJoin(Stream<? extends U> other)
    Cross join 2 streams into one.
    static <T1, T2> Seq<Tuple2<T1,T2>>
    crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2)
    Cross join 2 streams into one.
    static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>>
    crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3)
    Cross join 3 streams into one.
    static <T1, T2, T3, T4>
    Seq<Tuple4<T1,T2,T3,T4>>
    crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4)
    Cross join 4 streams into one.
    static <T1, T2, T3, T4, T5>
    Seq<Tuple5<T1,T2,T3,T4,T5>>
    crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5)
    Cross join 5 streams into one.
    static <T1, T2, T3, T4, T5, T6>
    Seq<Tuple6<T1,T2,T3,T4,T5,T6>>
    crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6)
    Cross join 6 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7>
    Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>>
    crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7)
    Cross join 7 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8>
    Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>>
    crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8)
    Cross join 8 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9>
    Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>>
    crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9)
    Cross join 9 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
    Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>>
    crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10)
    Cross join 10 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
    Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>>
    crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11)
    Cross join 11 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
    Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>>
    crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12)
    Cross join 12 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
    Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>>
    crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13)
    Cross join 13 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
    Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>>
    crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14)
    Cross join 14 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
    Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>>
    crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15)
    Cross join 15 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
    Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>>
    crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15, Seq<? extends T16> s16)
    Cross join 16 streams into one.
    default <U> Seq<Tuple2<T,U>>
    crossJoin(Seq<? extends U> other)
    Cross join 2 streams into one.
    default Seq<Tuple2<T,T>>
    Cross join stream with itself into one.
    default Seq<T>
    Repeat a stream infinitely.
    default Seq<T>
    cycle(long times)
    Repeat a stream a certain amount of times.
    static <T> Seq<T>
    cycle(Iterable<? extends T> iterable)
    Repeat a stream infinitely.
    static <T> Seq<T>
    cycle(Iterable<? extends T> iterable, long times)
    Repeat a stream a certain amount of times.
    static <T> Seq<T>
    cycle(Stream<? extends T> stream)
    Repeat a stream infinitely.
    static <T> Seq<T>
    cycle(Stream<? extends T> stream, long times)
    Repeat a stream a certain amount of times.
    static <T> Seq<T>
    cycle(Seq<? extends T> stream)
    Repeat a stream infinitely.
    static <T> Seq<T>
    cycle(Seq<? extends T> stream, long times)
    Repeat a stream a certain amount of times.
     
    default <U> Seq<T>
    distinct(Function<? super T,? extends U> keyExtractor)
    Get a stream of distinct keys.
    default Seq<T>
    drop(long n)
    Alias for skip
    default Tuple2<Seq<T>,Seq<T>>
    Duplicate a Streams into two equivalent Streams.
    static <T> Tuple2<Seq<T>,Seq<T>>
    duplicate(Stream<? extends T> stream)
    Duplicate a Streams into two equivalent Streams.
    static <T> Seq<T>
     
    filter(Predicate<? super T> predicate)
     
    default Optional<T>
    findFirst(Predicate<? super T> predicate)
    Get the first element from the stream given a predicate.
    default Optional<T>
    Get the last element from the stream.
    default Optional<T>
    findLast(Predicate<? super T> predicate)
    Get a last element from the stream given a predicate.
    default Optional<T>
    Get the single element from the stream, or throw an exception if the stream holds more than one element.
    <R> Seq<R>
    flatMap(Function<? super T,? extends Stream<? extends R>> mapper)
     
    flatMapToDouble(Function<? super T,? extends DoubleStream> mapper)
     
    flatMapToInt(Function<? super T,? extends IntStream> mapper)
     
    flatMapToLong(Function<? super T,? extends LongStream> mapper)
     
    static <T, U> U
    foldLeft(Iterable<? extends T> iterable, U seed, BiFunction<? super U,? super T,? extends U> function)
    Fold a stream to the left.
    static <T, U> U
    foldLeft(Stream<? extends T> stream, U seed, BiFunction<? super U,? super T,? extends U> function)
    Fold a stream to the left.
    static <T, U> U
    foldLeft(Seq<? extends T> stream, U seed, BiFunction<? super U,? super T,? extends U> function)
    Fold a stream to the left.
    default <U> U
    foldLeft(U seed, BiFunction<? super U,? super T,? extends U> function)
    Fold a Stream to the left.
    static <T, U> U
    foldRight(Iterable<? extends T> iterable, U seed, BiFunction<? super T,? super U,? extends U> function)
    Fold a stream to the right.
    static <T, U> U
    foldRight(Stream<? extends T> stream, U seed, BiFunction<? super T,? super U,? extends U> function)
    Fold a stream to the right.
    static <T, U> U
    foldRight(Seq<? extends T> stream, U seed, BiFunction<? super T,? super U,? extends U> function)
    Fold a stream to the right.
    default <U> U
    foldRight(U seed, BiFunction<? super T,? super U,? extends U> function)
    Fold a Stream to the right.
    default void
    forEach(Consumer<? super T> action)
     
    Generate a nicely formatted representation of this stream.
    static Seq<Void>
     
    static <T> Seq<T>
    generate(Supplier<? extends T> s)
     
    static <T> Seq<T>
    generate(T value)
     
    default Optional<T>
    get(long index)
    Get a single element from the stream at a given index.
    default <K> Map<K,List<T>>
    groupBy(Function<? super T,? extends K> classifier)
    Shortcut for calling Stream.collect(Collector) with a Collectors.groupingBy(Function) collector.
    default <K, D, A, M extends Map<K, D>>
    M
    groupBy(Function<? super T,? extends K> classifier, Supplier<M> mapFactory, Collector<? super T,A,D> downstream)
    default <K, A, D> Map<K,D>
    groupBy(Function<? super T,? extends K> classifier, Collector<? super T,A,D> downstream)
    static <T, K> Map<K,List<T>>
    groupBy(Stream<? extends T> stream, Function<? super T,? extends K> classifier)
    Shortcut for calling Stream.collect(Collector) with a Collectors.groupingBy(Function) collector.
    static <T, K, D, A, M extends Map<K, D>>
    M
    groupBy(Stream<? extends T> stream, Function<? super T,? extends K> classifier, Supplier<M> mapFactory, Collector<? super T,A,D> downstream)
    static <T, K, A, D> Map<K,D>
    groupBy(Stream<? extends T> stream, Function<? super T,? extends K> classifier, Collector<? super T,A,D> downstream)
    static <K, T> Seq<Tuple2<K,Seq<T>>>
    grouped(Iterable<? extends T> iterable, Function<? super T,? extends K> classifier)
    Classify this stream's elements according to a given classifier function
    static <K, T, A, D> Seq<Tuple2<K,D>>
    grouped(Iterable<? extends T> iterable, Function<? super T,? extends K> classifier, Collector<? super T,A,D> downstream)
    Classify this stream's elements according to a given classifier function and collect each class's elements using a collector.
    default <K> Seq<Tuple2<K,Seq<T>>>
    grouped(Function<? super T,? extends K> classifier)
    Classify this stream's elements according to a given classifier function.
    default <K, A, D> Seq<Tuple2<K,D>>
    grouped(Function<? super T,? extends K> classifier, Collector<? super T,A,D> downstream)
    Classify this stream's elements according to a given classifier function and collect each class's elements using a collector.
    static <K, T> Seq<Tuple2<K,Seq<T>>>
    grouped(Stream<? extends T> stream, Function<? super T,? extends K> classifier)
    Classify this stream's elements according to a given classifier function
    static <K, T, A, D> Seq<Tuple2<K,D>>
    grouped(Stream<? extends T> stream, Function<? super T,? extends K> classifier, Collector<? super T,A,D> downstream)
    Classify this stream's elements according to a given classifier function and collect each class's elements using a collector.
    static <K, T> Seq<Tuple2<K,Seq<T>>>
    grouped(Seq<? extends T> seq, Function<? super T,? extends K> classifier)
    Classify this stream's elements according to a given classifier function
    static <K, T, A, D> Seq<Tuple2<K,D>>
    grouped(Seq<? extends T> seq, Function<? super T,? extends K> classifier, Collector<? super T,A,D> downstream)
    Classify this stream's elements according to a given classifier function and collect each class's elements using a collector.
    default OptionalLong
    indexOf(Predicate<? super T> predicate)
    Get the index of the first element from the stream matching given predicate.
    default OptionalLong
    indexOf(T element)
    Get the index of the first element from the stream equal to given element.
    default <U> Seq<Tuple2<T,U>>
    innerJoin(Iterable<? extends U> other, BiPredicate<? super T,? super U> predicate)
    Inner join 2 streams into one.
    default <U> Seq<Tuple2<T,U>>
    innerJoin(Stream<? extends U> other, BiPredicate<? super T,? super U> predicate)
    Inner join 2 streams into one.
    default <U> Seq<Tuple2<T,U>>
    innerJoin(Seq<? extends U> other, BiPredicate<? super T,? super U> predicate)
    Inner join 2 streams into one.
    default Seq<Tuple2<T,T>>
    innerSelfJoin(BiPredicate<? super T,? super T> predicate)
    Inner join stream with itself.
    static <T> Seq<T>
    intersperse(Stream<? extends T> stream, T value)
    Returns a stream with a given value interspersed between any two values of this stream.
    default Seq<T>
    intersperse(T value)
    Returns a stream with a given value interspersed between any two values of this stream.
    default boolean
    Check if the sequence has any elements
    default boolean
    Check if the sequence has no elements
    static <T> Seq<T>
    iterate(T seed, UnaryOperator<T> f)
     
    static <T> Seq<T>
    iterateWhilePresent(T seed, Function<? super T,Optional<? extends T>> generator)
    Returns a sequence of elements provided by the generator until it returns Optional.empty() (in other words, it performs iterateUntilAbsent).
    default String
    Deprecated.
    - Use Object.toString() instead.
    default String
    join(CharSequence delimiter)
    Deprecated.
    default String
    join(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
    static String
    join(Stream<?> stream)
    Deprecated.
    - Use Object.toString() instead.
    static String
    join(Stream<?> stream, CharSequence delimiter)
    Deprecated.
    - Use Object.toString() instead.
    static String
    join(Stream<?> stream, CharSequence delimiter, CharSequence prefix, CharSequence suffix)
    Deprecated.
    - Use Object.toString() instead.
    default <U> Seq<Tuple2<T,U>>
    leftOuterJoin(Iterable<? extends U> other, BiPredicate<? super T,? super U> predicate)
    Left outer join 2 streams into one.
    default <U> Seq<Tuple2<T,U>>
    leftOuterJoin(Stream<? extends U> other, BiPredicate<? super T,? super U> predicate)
    Left outer join 2 streams into one.
    default <U> Seq<Tuple2<T,U>>
    leftOuterJoin(Seq<? extends U> other, BiPredicate<? super T,? super U> predicate)
    Left outer join 2 streams into one.
    default Seq<Tuple2<T,T>>
    leftOuterSelfJoin(BiPredicate<? super T,? super T> predicate)
    Left outer join one streams into itself.
    limit(long maxSize)
     
    static <T> Seq<T>
    limit(Stream<? extends T> stream, long elements)
    Returns a stream limited to n elements.
    default Seq<T>
    limitUntil(Predicate<? super T> predicate)
    Returns a stream limited to all elements for which a predicate evaluates to false.
    static <T> Seq<T>
    limitUntil(Stream<? extends T> stream, Predicate<? super T> predicate)
    Returns a stream limited to all elements for which a predicate evaluates to false.
    default Seq<T>
    limitUntilClosed(Predicate<? super T> predicate)
    Returns a stream limited to all elements for which a predicate evaluates to false plus the first element for which it evaluates to true.
    static <T> Seq<T>
    limitUntilClosed(Stream<? extends T> stream, Predicate<? super T> predicate)
    Returns a stream limited to all elements for which a predicate evaluates to false plus the first element for which it evaluates to true.
    default Seq<T>
    limitWhile(Predicate<? super T> predicate)
    Returns a stream limited to all elements for which a predicate evaluates to true.
    static <T> Seq<T>
    limitWhile(Stream<? extends T> stream, Predicate<? super T> predicate)
    Returns a stream limited to all elements for which a predicate evaluates to true.
    default Seq<T>
    limitWhileClosed(Predicate<? super T> predicate)
    Returns a stream limited to all elements for which a predicate evaluates to true plus the first element for which it evaluates to false.
    static <T> Seq<T>
    limitWhileClosed(Stream<? extends T> stream, Predicate<? super T> predicate)
    Returns a stream limited to all elements for which a predicate evaluates to true plus the first element for which it evaluates to false.
    <R> Seq<R>
    map(Function<? super T,? extends R> mapper)
     
    mapToDouble(ToDoubleFunction<? super T> mapper)
     
    mapToInt(ToIntFunction<? super T> mapper)
     
    mapToLong(ToLongFunction<? super T> mapper)
     
    static <T> Seq<T>
    of(T value)
     
    static <T> Seq<T>
    of(T... values)
     
    default <U> Seq<U>
    ofType(Class<? extends U> type)
    Keep only those elements in a stream that are of a given type.
    static <T, U> Seq<U>
    ofType(Stream<? extends T> stream, Class<? extends U> type)
    Keep only those elements in a stream that are of a given type.
    onClose(Runnable closeHandler)
     
    default Seq<T>
    onEmpty(T value)
    Produce this stream, or an alternative stream with the value, in case this stream is empty.
    default Seq<T>
    onEmptyGet(Supplier<? extends T> supplier)
    Produce this stream, or an alternative stream with a value from the supplier, in case this stream is empty.
    default <X extends Throwable>
    Seq<T>
    onEmptyThrow(Supplier<? extends X> supplier)
    Produce this stream, or throw a throwable from the supplier, in case this stream is empty.
    static <T1, T2> Seq<Tuple2<T1,T2>>
    outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2)
    Outer apply 2 functions to a stream.
    static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>>
    outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3)
    Outer apply 3 functions to a stream.
    static <T1, T2, T3, T4>
    Seq<Tuple4<T1,T2,T3,T4>>
    outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4)
    Outer apply 4 functions to a stream.
    static <T1, T2, T3, T4, T5>
    Seq<Tuple5<T1,T2,T3,T4,T5>>
    outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5)
    Outer apply 5 functions to a stream.
    static <T1, T2, T3, T4, T5, T6>
    Seq<Tuple6<T1,T2,T3,T4,T5,T6>>
    outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6)
    Outer apply 6 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7>
    Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>>
    outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7)
    Outer apply 7 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8>
    Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>>
    outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8)
    Outer apply 8 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9>
    Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>>
    outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9)
    Outer apply 9 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
    Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>>
    outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10)
    Outer apply 10 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
    Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>>
    outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11)
    Outer apply 11 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
    Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>>
    outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12)
    Outer apply 12 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
    Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>>
    outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12, Function<? super T12,? extends Iterable<? extends T13>> function13)
    Outer apply 13 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
    Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>>
    outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12, Function<? super T12,? extends Iterable<? extends T13>> function13, Function<? super T13,? extends Iterable<? extends T14>> function14)
    Outer apply 14 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
    Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>>
    outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12, Function<? super T12,? extends Iterable<? extends T13>> function13, Function<? super T13,? extends Iterable<? extends T14>> function14, Function<? super T14,? extends Iterable<? extends T15>> function15)
    Outer apply 15 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
    Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>>
    outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12, Function<? super T12,? extends Iterable<? extends T13>> function13, Function<? super T13,? extends Iterable<? extends T14>> function14, Function<? super T14,? extends Iterable<? extends T15>> function15, Function<? super T15,? extends Iterable<? extends T16>> function16)
    Outer apply 16 functions to a stream.
    default <U> Seq<Tuple2<T,U>>
    outerApply(Function<? super T,? extends Iterable<? extends U>> function)
    Outer apply a function to this stream.
    static <T1, T2> Seq<Tuple2<T1,T2>>
    outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2)
    Outer apply 2 functions to a stream.
    static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>>
    outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3)
    Outer apply 3 functions to a stream.
    static <T1, T2, T3, T4>
    Seq<Tuple4<T1,T2,T3,T4>>
    outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4)
    Outer apply 4 functions to a stream.
    static <T1, T2, T3, T4, T5>
    Seq<Tuple5<T1,T2,T3,T4,T5>>
    outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5)
    Outer apply 5 functions to a stream.
    static <T1, T2, T3, T4, T5, T6>
    Seq<Tuple6<T1,T2,T3,T4,T5,T6>>
    outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6)
    Outer apply 6 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7>
    Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>>
    outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7)
    Outer apply 7 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8>
    Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>>
    outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8)
    Outer apply 8 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9>
    Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>>
    outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9)
    Outer apply 9 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
    Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>>
    outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10)
    Outer apply 10 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
    Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>>
    outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11)
    Outer apply 11 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
    Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>>
    outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12)
    Outer apply 12 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
    Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>>
    outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12, Function<? super T12,? extends Stream<? extends T13>> function13)
    Outer apply 13 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
    Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>>
    outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12, Function<? super T12,? extends Stream<? extends T13>> function13, Function<? super T13,? extends Stream<? extends T14>> function14)
    Outer apply 14 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
    Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>>
    outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12, Function<? super T12,? extends Stream<? extends T13>> function13, Function<? super T13,? extends Stream<? extends T14>> function14, Function<? super T14,? extends Stream<? extends T15>> function15)
    Outer apply 15 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
    Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>>
    outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12, Function<? super T12,? extends Stream<? extends T13>> function13, Function<? super T13,? extends Stream<? extends T14>> function14, Function<? super T14,? extends Stream<? extends T15>> function15, Function<? super T15,? extends Stream<? extends T16>> function16)
    Outer apply 16 functions to a stream.
    static <T1, T2> Seq<Tuple2<T1,T2>>
    outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2)
    Outer apply 2 functions to a stream.
    static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>>
    outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3)
    Outer apply 3 functions to a stream.
    static <T1, T2, T3, T4>
    Seq<Tuple4<T1,T2,T3,T4>>
    outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4)
    Outer apply 4 functions to a stream.
    static <T1, T2, T3, T4, T5>
    Seq<Tuple5<T1,T2,T3,T4,T5>>
    outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5)
    Outer apply 5 functions to a stream.
    static <T1, T2, T3, T4, T5, T6>
    Seq<Tuple6<T1,T2,T3,T4,T5,T6>>
    outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6)
    Outer apply 6 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7>
    Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>>
    outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7)
    Outer apply 7 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8>
    Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>>
    outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8)
    Outer apply 8 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9>
    Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>>
    outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9)
    Outer apply 9 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
    Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>>
    outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10)
    Outer apply 10 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
    Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>>
    outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11)
    Outer apply 11 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
    Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>>
    outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12)
    Outer apply 12 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
    Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>>
    outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12, Function<? super T12,? extends Seq<? extends T13>> function13)
    Outer apply 13 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
    Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>>
    outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12, Function<? super T12,? extends Seq<? extends T13>> function13, Function<? super T13,? extends Seq<? extends T14>> function14)
    Outer apply 14 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
    Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>>
    outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12, Function<? super T12,? extends Seq<? extends T13>> function13, Function<? super T13,? extends Seq<? extends T14>> function14, Function<? super T14,? extends Seq<? extends T15>> function15)
    Outer apply 15 functions to a stream.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
    Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>>
    outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12, Function<? super T12,? extends Seq<? extends T13>> function13, Function<? super T13,? extends Seq<? extends T14>> function14, Function<? super T14,? extends Seq<? extends T15>> function15, Function<? super T15,? extends Seq<? extends T16>> function16)
    Outer apply 16 functions to a stream.
    default Seq<T>
    Seq streams are always sequential and, as such, doesn't support parallelization.
    default Tuple2<Seq<T>,Seq<T>>
    partition(Predicate<? super T> predicate)
    Partition a stream into two given a predicate.
    static <T> Tuple2<Seq<T>,Seq<T>>
    partition(Stream<? extends T> stream, Predicate<? super T> predicate)
    Partition a stream into two given a predicate.
    peek(Consumer<? super T> action)
     
    default Seq<T>
    prepend(Iterable<? extends T> other)
    Concatenate two streams.
    default Seq<T>
    prepend(Optional<? extends T> other)
    Concatenate an optional value.
    default Seq<T>
    prepend(Stream<? extends T> other)
    Concatenate two streams.
    default Seq<T>
    prepend(Seq<? extends T> other)
    Concatenate two streams.
    default Seq<T>
    prepend(T other)
    Concatenate two streams.
    default Seq<T>
    prepend(T... other)
    Concatenate two streams.
    default void
    Print contents of this stream to the argument stream.
    default void
    Print contents of this stream to the argument writer.
    default void
    Print contents of this stream to System.err.
    default void
    Print contents of this stream to System.out.
    static Seq<Byte>
    range(byte fromInclusive, byte toExclusive)
    The range between two values.
    static Seq<Byte>
    range(byte fromInclusive, byte toExclusive, int step)
    The range between two values.
    static Seq<Character>
    range(char fromInclusive, char toExclusive)
    The range between two values.
    static Seq<Character>
    range(char fromInclusive, char toExclusive, int step)
    The range between two values.
    static Seq<Integer>
    range(int fromInclusive, int toExclusive)
    The range between two values.
    static Seq<Integer>
    range(int fromInclusive, int toExclusive, int step)
    The range between two values.
    static Seq<Long>
    range(long fromInclusive, long toExclusive)
    The range between two values.
    static Seq<Long>
    range(long fromInclusive, long toExclusive, long step)
    The range between two values.
    static Seq<Short>
    range(short fromInclusive, short toExclusive)
    The range between two values.
    static Seq<Short>
    range(short fromInclusive, short toExclusive, int step)
    The range between two values.
    static Seq<Instant>
    range(Instant fromInclusive, Instant toExclusive)
    The range between two values.
    static Seq<Instant>
    range(Instant fromInclusive, Instant toExclusive, Duration step)
    The range between two values.
    static Seq<Byte>
    rangeClosed(byte fromInclusive, byte toInclusive)
    The range between two values.
    static Seq<Byte>
    rangeClosed(byte fromInclusive, byte toInclusive, int step)
    The range between two values.
    static Seq<Character>
    rangeClosed(char fromInclusive, char toInclusive)
    The range between two values.
    static Seq<Character>
    rangeClosed(char fromInclusive, char toInclusive, int step)
    The range between two values.
    static Seq<Integer>
    rangeClosed(int fromInclusive, int toInclusive)
    The range between two values.
    static Seq<Integer>
    rangeClosed(int fromInclusive, int toInclusive, int step)
    The range between two values.
    static Seq<Long>
    rangeClosed(long fromInclusive, long toInclusive)
    The range between two values.
    static Seq<Long>
    rangeClosed(long fromInclusive, long toInclusive, long step)
    The range between two values.
    static Seq<Short>
    rangeClosed(short fromInclusive, short toInclusive)
    The range between two values.
    static Seq<Short>
    rangeClosed(short fromInclusive, short toInclusive, int step)
    The range between two values.
    static Seq<Instant>
    rangeClosed(Instant fromInclusive, Instant toInclusive)
    The range between two values.
    static Seq<Instant>
    rangeClosed(Instant fromInclusive, Instant toInclusive, Duration step)
    The range between two values.
    default Seq<T>
    remove(T other)
    Return a new stream where the first occurrence of the argument is removed.
    default Seq<T>
    removeAll(Iterable<? extends T> other)
    Return a new stream where all occurrences of the arguments are removed.
    default Seq<T>
    removeAll(Stream<? extends T> other)
    Return a new stream where all occurrences of the arguments are removed.
    default Seq<T>
    removeAll(Seq<? extends T> other)
    Return a new stream where all occurrences of the arguments are removed.
    default Seq<T>
    removeAll(T... other)
    Return a new stream where all occurrences of the arguments are removed.
    default Seq<T>
    retainAll(Iterable<? extends T> other)
    Return a new stream where only occurrences of the arguments are retained.
    default Seq<T>
    retainAll(Stream<? extends T> other)
    Return a new stream where only occurrences of the arguments are retained.
    default Seq<T>
    retainAll(Seq<? extends T> other)
    Return a new stream where only occurrences of the arguments are retained.
    default Seq<T>
    retainAll(T... other)
    Return a new stream where only occurrences of the arguments are retained.
    default Seq<T>
    Reverse a stream.
    static <T> Seq<T>
    reverse(Iterable<? extends T> iterable)
    Reverse a stream.
    static <T> Seq<T>
    reverse(Stream<? extends T> stream)
    Reverse a stream.
    static <T> Seq<T>
    reverse(Seq<? extends T> stream)
    Reverse a stream.
    default <U> Seq<Tuple2<T,U>>
    rightOuterJoin(Iterable<? extends U> other, BiPredicate<? super T,? super U> predicate)
    Right outer join 2 streams into one.
    default <U> Seq<Tuple2<T,U>>
    rightOuterJoin(Stream<? extends U> other, BiPredicate<? super T,? super U> predicate)
    Right outer join 2 streams into one.
    default <U> Seq<Tuple2<T,U>>
    rightOuterJoin(Seq<? extends U> other, BiPredicate<? super T,? super U> predicate)
    Right outer join 2 streams into one.
    default Seq<Tuple2<T,T>>
    rightOuterSelfJoin(BiPredicate<? super T,? super T> predicate)
    Right outer join stream into itself.
    static <T, U> Seq<U>
    scanLeft(Iterable<? extends T> iterable, U seed, BiFunction<? super U,? super T,? extends U> function)
    Scan a stream to the left.
    static <T, U> Seq<U>
    scanLeft(Stream<? extends T> stream, U seed, BiFunction<? super U,? super T,? extends U> function)
    Scan a stream to the left.
    static <T, U> Seq<U>
    scanLeft(Seq<? extends T> stream, U seed, BiFunction<? super U,? super T,? extends U> function)
    Scan a stream to the left.
    default <U> Seq<U>
    scanLeft(U seed, BiFunction<? super U,? super T,? extends U> function)
    Scan a stream to the left.
    static <T, U> Seq<U>
    scanRight(Iterable<? extends T> iterable, U seed, BiFunction<? super T,? super U,? extends U> function)
    Scan a stream to the right.
    static <T, U> Seq<U>
    scanRight(Stream<? extends T> stream, U seed, BiFunction<? super T,? super U,? extends U> function)
    Scan a stream to the right.
    static <T, U> Seq<U>
    scanRight(Seq<? extends T> stream, U seed, BiFunction<? super T,? super U,? extends U> function)
    Scan a stream to the right.
    default <U> Seq<U>
    scanRight(U seed, BiFunction<? super T,? super U,? extends U> function)
    Scan a stream to the right.
    static Seq<Byte>
    Wrap an InputStream into a Seq.
    static Seq<Character>
    seq(Reader reader)
    Wrap a Reader into a Seq.
    static <T> Seq<T>
    seq(Iterable<? extends T> iterable)
    Wrap an Iterable into a Seq.
    static <T> Seq<T>
    seq(Enumeration<T> enumeration)
    Wrap an Enumeration into a Seq.
    static <T> Seq<T>
    seq(Supplier<? extends T> s)
    Get a stream from a single element from a Supplier.
    static <T> Seq<T>
    seq(Iterator<? extends T> iterator)
    Wrap an Iterator into a Seq.
    static <K, V> Seq<Tuple2<K,V>>
    seq(Map<? extends K,? extends V> map)
    Wrap a Map into a Seq.
    static <T> Seq<T>
    seq(Optional<? extends T> optional)
    Wrap an Optional into a Seq.
    static <T> Seq<T>
    seq(Optional<? extends T>... optionals)
    Wrap multiple Optional's into a Seq.
    static <T> Seq<T>
    seq(Spliterator<? extends T> spliterator)
    Wrap a Spliterator into a Seq.
    static Seq<Double>
    seq(DoubleStream stream)
    Wrap a DoubleStream into a Seq.
    static Seq<Integer>
    seq(IntStream stream)
    Wrap a IntStream into a Seq.
    static Seq<Long>
    seq(LongStream stream)
    Wrap a LongStream into a Seq.
    static <T> Seq<T>
    seq(Stream<? extends T> stream)
    Wrap a Stream into a Seq.
    static <T> Seq<T>
    seq(Seq<? extends T> stream)
    Wrap a Stream into a Seq.
    static <T> Seq<T>
    seq(T[] values)
    Wrap an array into a Seq.
    static <T> Seq<T>
    seq(T[] values, int startIndex, int endIndex)
    Wrap an array slice into a Seq.
    default Seq<T>
    Returns this stream.
    default Seq<T>
    Shuffle a stream
    static <T> Seq<T>
    shuffle(Iterable<? extends T> iterable)
    Shuffle a stream
    static <T> Seq<T>
    shuffle(Iterable<? extends T> iterable, Random random)
    Shuffle a stream using specified source of randomness
    default Seq<T>
    shuffle(Random random)
    Shuffle a stream using specified source of randomness
    static <T> Seq<T>
    shuffle(Stream<? extends T> stream)
    Shuffle a stream
    static <T> Seq<T>
    shuffle(Stream<? extends T> stream, Random random)
    Shuffle a stream using specified source of randomness
    static <T> Seq<T>
    shuffle(Seq<? extends T> stream)
    Shuffle a stream
    static <T> Seq<T>
    shuffle(Seq<? extends T> stream, Random random)
    Shuffle a stream using specified source of randomness
    skip(long n)
     
    static <T> Seq<T>
    skip(Stream<? extends T> stream, long elements)
    Returns a stream with n elements skipped.
    default Seq<T>
    skipUntil(Predicate<? super T> predicate)
    Returns a stream with all elements skipped for which a predicate evaluates to false.
    static <T> Seq<T>
    skipUntil(Stream<? extends T> stream, Predicate<? super T> predicate)
    Returns a stream with all elements skipped for which a predicate evaluates to false.
    default Seq<T>
    skipUntilClosed(Predicate<? super T> predicate)
    Returns a stream with all elements skipped for which a predicate evaluates to false plus the first element for which it evaluates to true.
    static <T> Seq<T>
    skipUntilClosed(Stream<? extends T> stream, Predicate<? super T> predicate)
    Returns a stream with all elements skipped for which a predicate evaluates to false plus the first element for which it evaluates to true.
    default Seq<T>
    skipWhile(Predicate<? super T> predicate)
    Returns a stream with all elements skipped for which a predicate evaluates to true.
    static <T> Seq<T>
    skipWhile(Stream<? extends T> stream, Predicate<? super T> predicate)
    Returns a stream with all elements skipped for which a predicate evaluates to true.
    default Seq<T>
    skipWhileClosed(Predicate<? super T> predicate)
    Returns a stream with all elements skipped for which a predicate evaluates to true plus the first element for which it evaluates to false.
    static <T> Seq<T>
    skipWhileClosed(Stream<? extends T> stream, Predicate<? super T> predicate)
    Returns a stream with all elements skipped for which a predicate evaluates to true plus the first element for which it evaluates to false.
    default Seq<T>
    slice(long from, long to)
    Returns a limited interval from a given Stream.
    static <T> Seq<T>
    slice(Stream<? extends T> stream, long from, long to)
    Returns a limited interval from a given Stream.
    default Seq<Seq<T>>
    sliding(long size)
    Map this stream to a stream containing a sliding window over the previous stream.
     
    sorted(Comparator<? super T> comparator)
     
    default <U extends Comparable<? super U>>
    Seq<T>
    sorted(Function<? super T,? extends U> function)
    Sort by the results of function.
    default <U> Seq<T>
    sorted(Function<? super T,? extends U> function, Comparator<? super U> comparator)
    Sort by the results of function.
    default Tuple2<Seq<T>,Seq<T>>
    splitAt(long position)
    Split a stream at a given position.
    static <T> Tuple2<Seq<T>,Seq<T>>
    splitAt(Stream<? extends T> stream, long position)
    Split a stream at a given position.
    default Tuple2<Optional<T>,Seq<T>>
    Split a stream at the head.
    static <T> Tuple2<Optional<T>,Seq<T>>
    splitAtHead(Stream<T> stream)
    Split a stream at the head.
    default Spliterator<T>
     
    The underlying Stream implementation.
    default Seq<T>
    take(long maxSize)
    Alias for limit
    static <T, C extends Collection<T>>
    C
    toCollection(Stream<? extends T> stream, Supplier<? extends C> collectionFactory)
    Collect a Stream into a List.
    static <T> List<T>
    toList(Stream<? extends T> stream)
    Collect a Stream into a List.
    static <T, K, V> Map<K,V>
    toMap(Stream<? extends T> stream, Function<? super T,? extends K> keyMapper, Function<? super T,? extends V> valueMapper)
    Collect a Stream into a Map.
    static <T, K, V> Map<K,V>
    toMap(Stream<Tuple2<K,V>> stream)
    Collect a Stream of Tuple2 into a Map.
    static <T> Set<T>
    toSet(Stream<? extends T> stream)
    Collect a Stream into a Set.
    static String
    toString(Stream<?> stream)
    Consume a stream and concatenate all elements.
    static String
    toString(Stream<?> stream, CharSequence delimiter)
    Consume a stream and concatenate all elements using a separator.
    default <U> U
    transform(Function<? super Seq<T>,? extends U> transformer)
    Transform this stream into a new type.
    static <T, U> Seq<T>
    unfold(U seed, Function<? super U,Optional<Tuple2<T,U>>> unfolder)
    Unfold a function into a stream.
    default Seq<T>
    Returns this stream.
    static <T1, T2> Tuple2<Seq<T1>,Seq<T2>>
    unzip(Iterable<Tuple2<T1,T2>> iterable)
    Unzip one Stream into two.
    static <T1, T2, U1, U2>
    Tuple2<Seq<U1>,Seq<U2>>
    unzip(Iterable<Tuple2<T1,T2>> iterable, BiFunction<T1,T2,Tuple2<U1,U2>> unzipper)
    Unzip one Stream into two.
    static <T1, T2, U1, U2>
    Tuple2<Seq<U1>,Seq<U2>>
    unzip(Iterable<Tuple2<T1,T2>> iterable, Function<Tuple2<T1,T2>,Tuple2<U1,U2>> unzipper)
    Unzip one Stream into two.
    static <T1, T2, U1, U2>
    Tuple2<Seq<U1>,Seq<U2>>
    unzip(Iterable<Tuple2<T1,T2>> iterable, Function<T1,U1> leftUnzipper, Function<T2,U2> rightUnzipper)
    Unzip one Stream into two.
    static <K, V> Tuple2<Seq<K>,Seq<V>>
    unzip(Map<? extends K,? extends V> map)
    Unzip a Map into its keys and values.
    static <T1, T2> Tuple2<Seq<T1>,Seq<T2>>
    unzip(Stream<Tuple2<T1,T2>> stream)
    Unzip one Stream into two.
    static <T1, T2, U1, U2>
    Tuple2<Seq<U1>,Seq<U2>>
    unzip(Stream<Tuple2<T1,T2>> stream, BiFunction<T1,T2,Tuple2<U1,U2>> unzipper)
    Unzip one Stream into two.
    static <T1, T2, U1, U2>
    Tuple2<Seq<U1>,Seq<U2>>
    unzip(Stream<Tuple2<T1,T2>> stream, Function<Tuple2<T1,T2>,Tuple2<U1,U2>> unzipper)
    Unzip one Stream into two.
    static <T1, T2, U1, U2>
    Tuple2<Seq<U1>,Seq<U2>>
    unzip(Stream<Tuple2<T1,T2>> stream, Function<T1,U1> leftUnzipper, Function<T2,U2> rightUnzipper)
    Unzip one Stream into two.
    static <T1, T2> Tuple2<Seq<T1>,Seq<T2>>
    unzip(Seq<Tuple2<T1,T2>> stream)
    Unzip one Stream into two.
    static <T1, T2, U1, U2>
    Tuple2<Seq<U1>,Seq<U2>>
    unzip(Seq<Tuple2<T1,T2>> stream, BiFunction<T1,T2,Tuple2<U1,U2>> unzipper)
    Unzip one Stream into two.
    static <T1, T2, U1, U2>
    Tuple2<Seq<U1>,Seq<U2>>
    unzip(Seq<Tuple2<T1,T2>> stream, Function<Tuple2<T1,T2>,Tuple2<U1,U2>> unzipper)
    Unzip one Stream into two.
    static <T1, T2, U1, U2>
    Tuple2<Seq<U1>,Seq<U2>>
    unzip(Seq<Tuple2<T1,T2>> stream, Function<T1,U1> leftUnzipper, Function<T2,U2> rightUnzipper)
    Unzip one Stream into two.
    default Seq<Window<T>>
    Map this stream to a windowed stream using the default partition and order.
    default Seq<Window<T>>
    window(long lower, long upper)
    Map this stream to a windowed stream using the default partition and order with frame.
    default Seq<Window<T>>
    window(Comparator<? super T> orderBy)
    Map this stream to a windowed stream using the default partition and a specific order.
    default Seq<Window<T>>
    window(Comparator<? super T> orderBy, long lower, long upper)
    Map this stream to a windowed stream using the default partition and a specific order with frame.
    default <U> Seq<Window<T>>
    window(Function<? super T,? extends U> partitionBy)
    Map this stream to a windowed stream using a specific partition and the default order.
    default <U> Seq<Window<T>>
    window(Function<? super T,? extends U> partitionBy, long lower, long upper)
    Map this stream to a windowed stream using a specific partition and the default order.
    default <U> Seq<Window<T>>
    window(Function<? super T,? extends U> partitionBy, Comparator<? super T> orderBy)
    Map this stream to a windowed stream using a specific partition and order.
    default <U> Seq<Window<T>>
    window(Function<? super T,? extends U> partitionBy, Comparator<? super T> orderBy, long lower, long upper)
    Map this stream to a windowed stream using a specific partition and order with frame.
    default Seq<Tuple1<Window<T>>>
    window(WindowSpecification<T> specification1)
    Map this stream to a windowed stream with 1 distinct windows.
    default Seq<Tuple2<Window<T>,Window<T>>>
    window(WindowSpecification<T> specification1, WindowSpecification<T> specification2)
    Map this stream to a windowed stream with 2 distinct windows.
    default Seq<Tuple3<Window<T>,Window<T>,Window<T>>>
    window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3)
    Map this stream to a windowed stream with 3 distinct windows.
    window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4)
    Map this stream to a windowed stream with 4 distinct windows.
    window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5)
    Map this stream to a windowed stream with 5 distinct windows.
    window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6)
    Map this stream to a windowed stream with 6 distinct windows.
    window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7)
    Map this stream to a windowed stream with 7 distinct windows.
    window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8)
    Map this stream to a windowed stream with 8 distinct windows.
    window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8, WindowSpecification<T> specification9)
    Map this stream to a windowed stream with 9 distinct windows.
    window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8, WindowSpecification<T> specification9, WindowSpecification<T> specification10)
    Map this stream to a windowed stream with 10 distinct windows.
    window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8, WindowSpecification<T> specification9, WindowSpecification<T> specification10, WindowSpecification<T> specification11)
    Map this stream to a windowed stream with 11 distinct windows.
    window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8, WindowSpecification<T> specification9, WindowSpecification<T> specification10, WindowSpecification<T> specification11, WindowSpecification<T> specification12)
    Map this stream to a windowed stream with 12 distinct windows.
    window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8, WindowSpecification<T> specification9, WindowSpecification<T> specification10, WindowSpecification<T> specification11, WindowSpecification<T> specification12, WindowSpecification<T> specification13)
    Map this stream to a windowed stream with 13 distinct windows.
    window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8, WindowSpecification<T> specification9, WindowSpecification<T> specification10, WindowSpecification<T> specification11, WindowSpecification<T> specification12, WindowSpecification<T> specification13, WindowSpecification<T> specification14)
    Map this stream to a windowed stream with 14 distinct windows.
    window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8, WindowSpecification<T> specification9, WindowSpecification<T> specification10, WindowSpecification<T> specification11, WindowSpecification<T> specification12, WindowSpecification<T> specification13, WindowSpecification<T> specification14, WindowSpecification<T> specification15)
    Map this stream to a windowed stream with 15 distinct windows.
    window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8, WindowSpecification<T> specification9, WindowSpecification<T> specification10, WindowSpecification<T> specification11, WindowSpecification<T> specification12, WindowSpecification<T> specification13, WindowSpecification<T> specification14, WindowSpecification<T> specification15, WindowSpecification<T> specification16)
    Map this stream to a windowed stream with 16 distinct windows.
    static <T1, T2> Seq<Tuple2<T1,T2>>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2)
    Zip 2 streams into one.
    static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3)
    Zip 3 streams into one.
    static <T1, T2, T3, T4>
    Seq<Tuple4<T1,T2,T3,T4>>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4)
    Zip 4 streams into one.
    static <T1, T2, T3, T4, T5>
    Seq<Tuple5<T1,T2,T3,T4,T5>>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5)
    Zip 5 streams into one.
    static <T1, T2, T3, T4, T5, T6>
    Seq<Tuple6<T1,T2,T3,T4,T5,T6>>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6)
    Zip 6 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7>
    Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7)
    Zip 7 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8>
    Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8)
    Zip 8 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9>
    Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9)
    Zip 9 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
    Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10)
    Zip 10 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
    Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11)
    Zip 11 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
    Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12)
    Zip 12 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
    Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13)
    Zip 13 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
    Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14)
    Zip 14 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
    Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14, Iterable<? extends T15> i15)
    Zip 15 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
    Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14, Iterable<? extends T15> i15, Iterable<? extends T16> i16)
    Zip 16 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R>
    Seq<R>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14, Iterable<? extends T15> i15, Iterable<? extends T16> i16, Function16<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? super T16,? extends R> zipper)
    Zip 16 streams into one using a Function16 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R>
    Seq<R>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14, Iterable<? extends T15> i15, Function15<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? extends R> zipper)
    Zip 15 streams into one using a Function15 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R>
    Seq<R>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14, Function14<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? extends R> zipper)
    Zip 14 streams into one using a Function14 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R>
    Seq<R>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Function13<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? extends R> zipper)
    Zip 13 streams into one using a Function13 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R>
    Seq<R>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Function12<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? extends R> zipper)
    Zip 12 streams into one using a Function12 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R>
    Seq<R>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Function11<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? extends R> zipper)
    Zip 11 streams into one using a Function11 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R>
    Seq<R>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Function10<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? extends R> zipper)
    Zip 10 streams into one using a Function10 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R>
    Seq<R>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Function9<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? extends R> zipper)
    Zip 9 streams into one using a Function9 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, R>
    Seq<R>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> zipper)
    Zip 8 streams into one using a Function8 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, R>
    Seq<R>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Function7<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? extends R> zipper)
    Zip 7 streams into one using a Function7 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, R>
    Seq<R>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> zipper)
    Zip 6 streams into one using a Function6 to produce resulting values.
    static <T1, T2, T3, T4, T5, R>
    Seq<R>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Function5<? super T1,? super T2,? super T3,? super T4,? super T5,? extends R> zipper)
    Zip 5 streams into one using a Function5 to produce resulting values.
    static <T1, T2, T3, T4, R>
    Seq<R>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Function4<? super T1,? super T2,? super T3,? super T4,? extends R> zipper)
    Zip 4 streams into one using a Function4 to produce resulting values.
    static <T1, T2, T3, R>
    Seq<R>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Function3<? super T1,? super T2,? super T3,? extends R> zipper)
    Zip 3 streams into one using a Function3 to produce resulting values.
    static <T1, T2, R> Seq<R>
    zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, BiFunction<? super T1,? super T2,? extends R> zipper)
    Zip 2 streams into one using a BiFunction to produce resulting values.
    default <U> Seq<Tuple2<T,U>>
    zip(Iterable<? extends U> other)
    Zip two streams into one.
    default <U, R> Seq<R>
    zip(Iterable<? extends U> other, BiFunction<? super T,? super U,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values.
    static <T1, T2> Seq<Tuple2<T1,T2>>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2)
    Zip 2 streams into one.
    static <T1, T2, R> Seq<R>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, BiFunction<? super T1,? super T2,? extends R> zipper)
    Zip 2 streams into one using a BiFunction to produce resulting values.
    static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3)
    Zip 3 streams into one.
    static <T1, T2, T3, T4>
    Seq<Tuple4<T1,T2,T3,T4>>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4)
    Zip 4 streams into one.
    static <T1, T2, T3, T4, T5>
    Seq<Tuple5<T1,T2,T3,T4,T5>>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5)
    Zip 5 streams into one.
    static <T1, T2, T3, T4, T5, T6>
    Seq<Tuple6<T1,T2,T3,T4,T5,T6>>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6)
    Zip 6 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7>
    Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7)
    Zip 7 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8>
    Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8)
    Zip 8 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9>
    Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9)
    Zip 9 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
    Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10)
    Zip 10 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
    Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11)
    Zip 11 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
    Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12)
    Zip 12 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
    Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13)
    Zip 13 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
    Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14)
    Zip 14 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
    Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15)
    Zip 15 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
    Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15, Stream<? extends T16> s16)
    Zip 16 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R>
    Seq<R>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15, Stream<? extends T16> s16, Function16<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? super T16,? extends R> zipper)
    Zip 16 streams into one using a Function16 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R>
    Seq<R>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15, Function15<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? extends R> zipper)
    Zip 15 streams into one using a Function15 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R>
    Seq<R>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Function14<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? extends R> zipper)
    Zip 14 streams into one using a Function14 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R>
    Seq<R>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Function13<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? extends R> zipper)
    Zip 13 streams into one using a Function13 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R>
    Seq<R>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Function12<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? extends R> zipper)
    Zip 12 streams into one using a Function12 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R>
    Seq<R>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Function11<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? extends R> zipper)
    Zip 11 streams into one using a Function11 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R>
    Seq<R>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Function10<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? extends R> zipper)
    Zip 10 streams into one using a Function10 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R>
    Seq<R>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Function9<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? extends R> zipper)
    Zip 9 streams into one using a Function9 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, R>
    Seq<R>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> zipper)
    Zip 8 streams into one using a Function8 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, R>
    Seq<R>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Function7<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? extends R> zipper)
    Zip 7 streams into one using a Function7 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, R>
    Seq<R>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> zipper)
    Zip 6 streams into one using a Function6 to produce resulting values.
    static <T1, T2, T3, T4, T5, R>
    Seq<R>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Function5<? super T1,? super T2,? super T3,? super T4,? super T5,? extends R> zipper)
    Zip 5 streams into one using a Function5 to produce resulting values.
    static <T1, T2, T3, T4, R>
    Seq<R>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Function4<? super T1,? super T2,? super T3,? super T4,? extends R> zipper)
    Zip 4 streams into one using a Function4 to produce resulting values.
    static <T1, T2, T3, R>
    Seq<R>
    zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Function3<? super T1,? super T2,? super T3,? extends R> zipper)
    Zip 3 streams into one using a Function3 to produce resulting values.
    default <U> Seq<Tuple2<T,U>>
    zip(Stream<? extends U> other)
    Zip two streams into one.
    default <U, R> Seq<R>
    zip(Stream<? extends U> other, BiFunction<? super T,? super U,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values.
    static <T1, T2> Seq<Tuple2<T1,T2>>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2)
    Zip 2 streams into one.
    static <T1, T2, R> Seq<R>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, BiFunction<? super T1,? super T2,? extends R> zipper)
    Zip 2 streams into one using a BiFunction to produce resulting values.
    static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3)
    Zip 3 streams into one.
    static <T1, T2, T3, R>
    Seq<R>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Function3<? super T1,? super T2,? super T3,? extends R> zipper)
    Zip 3 streams into one using a Function3 to produce resulting values.
    static <T1, T2, T3, T4>
    Seq<Tuple4<T1,T2,T3,T4>>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4)
    Zip 4 streams into one.
    static <T1, T2, T3, T4, R>
    Seq<R>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Function4<? super T1,? super T2,? super T3,? super T4,? extends R> zipper)
    Zip 4 streams into one using a Function4 to produce resulting values.
    static <T1, T2, T3, T4, T5>
    Seq<Tuple5<T1,T2,T3,T4,T5>>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5)
    Zip 5 streams into one.
    static <T1, T2, T3, T4, T5, R>
    Seq<R>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Function5<? super T1,? super T2,? super T3,? super T4,? super T5,? extends R> zipper)
    Zip 5 streams into one using a Function5 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6>
    Seq<Tuple6<T1,T2,T3,T4,T5,T6>>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6)
    Zip 6 streams into one.
    static <T1, T2, T3, T4, T5, T6, R>
    Seq<R>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> zipper)
    Zip 6 streams into one using a Function6 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7>
    Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7)
    Zip 7 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, R>
    Seq<R>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Function7<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? extends R> zipper)
    Zip 7 streams into one using a Function7 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8>
    Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8)
    Zip 8 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, R>
    Seq<R>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> zipper)
    Zip 8 streams into one using a Function8 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9>
    Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9)
    Zip 9 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R>
    Seq<R>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Function9<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? extends R> zipper)
    Zip 9 streams into one using a Function9 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
    Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10)
    Zip 10 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R>
    Seq<R>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Function10<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? extends R> zipper)
    Zip 10 streams into one using a Function10 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
    Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11)
    Zip 11 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R>
    Seq<R>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Function11<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? extends R> zipper)
    Zip 11 streams into one using a Function11 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
    Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12)
    Zip 12 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R>
    Seq<R>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Function12<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? extends R> zipper)
    Zip 12 streams into one using a Function12 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
    Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13)
    Zip 13 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R>
    Seq<R>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Function13<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? extends R> zipper)
    Zip 13 streams into one using a Function13 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
    Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14)
    Zip 14 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R>
    Seq<R>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Function14<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? extends R> zipper)
    Zip 14 streams into one using a Function14 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
    Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15)
    Zip 15 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R>
    Seq<R>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15, Function15<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? extends R> zipper)
    Zip 15 streams into one using a Function15 to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
    Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15, Seq<? extends T16> s16)
    Zip 16 streams into one.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R>
    Seq<R>
    zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15, Seq<? extends T16> s16, Function16<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? super T16,? extends R> zipper)
    Zip 16 streams into one using a Function16 to produce resulting values.
    default <U> Seq<Tuple2<T,U>>
    zip(Seq<? extends U> other)
    Zip two streams into one.
    default <U, R> Seq<R>
    zip(Seq<? extends U> other, BiFunction<? super T,? super U,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
    Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, Iterable<? extends T13> s13, Iterable<? extends T14> s14, Iterable<? extends T15> s15, Iterable<? extends T16> s16, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, T16 default16)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R>
    Seq<R>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, Iterable<? extends T13> s13, Iterable<? extends T14> s14, Iterable<? extends T15> s15, Iterable<? extends T16> s16, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, T16 default16, Function16<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? super T16,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
    Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, Iterable<? extends T13> s13, Iterable<? extends T14> s14, Iterable<? extends T15> s15, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R>
    Seq<R>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, Iterable<? extends T13> s13, Iterable<? extends T14> s14, Iterable<? extends T15> s15, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, Function15<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
    Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, Iterable<? extends T13> s13, Iterable<? extends T14> s14, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R>
    Seq<R>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, Iterable<? extends T13> s13, Iterable<? extends T14> s14, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, Function14<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
    Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, Iterable<? extends T13> s13, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R>
    Seq<R>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, Iterable<? extends T13> s13, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, Function13<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
    Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R>
    Seq<R>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, Function12<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
    Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R>
    Seq<R>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, Function11<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
    Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R>
    Seq<R>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, Function10<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9>
    Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R>
    Seq<R>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, Function9<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8>
    Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, R>
    Seq<R>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7>
    Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, R>
    Seq<R>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, Function7<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6>
    Seq<Tuple6<T1,T2,T3,T4,T5,T6>>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, R>
    Seq<R>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5>
    Seq<Tuple5<T1,T2,T3,T4,T5>>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, R>
    Seq<R>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, Function5<? super T1,? super T2,? super T3,? super T4,? super T5,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4>
    Seq<Tuple4<T1,T2,T3,T4>>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, T1 default1, T2 default2, T3 default3, T4 default4)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, R>
    Seq<R>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, T1 default1, T2 default2, T3 default3, T4 default4, Function4<? super T1,? super T2,? super T3,? super T4,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, T1 default1, T2 default2, T3 default3)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, R>
    Seq<R>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, T1 default1, T2 default2, T3 default3, Function3<? super T1,? super T2,? super T3,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2> Seq<Tuple2<T1,T2>>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, T1 default1, T2 default2)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, R> Seq<R>
    zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, T1 default1, T2 default2, BiFunction<? super T1,? super T2,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
    Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15, Stream<? extends T16> s16, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, T16 default16)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R>
    Seq<R>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15, Stream<? extends T16> s16, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, T16 default16, Function16<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? super T16,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
    Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R>
    Seq<R>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, Function15<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
    Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R>
    Seq<R>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, Function14<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
    Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R>
    Seq<R>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, Function13<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
    Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R>
    Seq<R>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, Function12<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
    Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R>
    Seq<R>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, Function11<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
    Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R>
    Seq<R>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, Function10<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9>
    Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R>
    Seq<R>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, Function9<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8>
    Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, R>
    Seq<R>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7>
    Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, R>
    Seq<R>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, Function7<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6>
    Seq<Tuple6<T1,T2,T3,T4,T5,T6>>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, R>
    Seq<R>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5>
    Seq<Tuple5<T1,T2,T3,T4,T5>>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, R>
    Seq<R>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, Function5<? super T1,? super T2,? super T3,? super T4,? super T5,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4>
    Seq<Tuple4<T1,T2,T3,T4>>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, T1 default1, T2 default2, T3 default3, T4 default4)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, R>
    Seq<R>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, T1 default1, T2 default2, T3 default3, T4 default4, Function4<? super T1,? super T2,? super T3,? super T4,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, T1 default1, T2 default2, T3 default3)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, R>
    Seq<R>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, T1 default1, T2 default2, T3 default3, Function3<? super T1,? super T2,? super T3,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2> Seq<Tuple2<T1,T2>>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, T1 default1, T2 default2)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, R> Seq<R>
    zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, T1 default1, T2 default2, BiFunction<? super T1,? super T2,? extends R> zipper)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
    Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15, Seq<? extends T16> s16, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, T16 default16)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R>
    Seq<R>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15, Seq<? extends T16> s16, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, T16 default16, Function16<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? super T16,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15>
    Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R>
    Seq<R>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, Function15<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14>
    Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R>
    Seq<R>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, Function14<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13>
    Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R>
    Seq<R>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, Function13<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>
    Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R>
    Seq<R>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, Function12<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>
    Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R>
    Seq<R>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, Function11<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>
    Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R>
    Seq<R>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, Function10<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9>
    Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R>
    Seq<R>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, Function9<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8>
    Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, T8, R>
    Seq<R>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7>
    Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, T7, R>
    Seq<R>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, Function7<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6>
    Seq<Tuple6<T1,T2,T3,T4,T5,T6>>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, T6, R>
    Seq<R>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5>
    Seq<Tuple5<T1,T2,T3,T4,T5>>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, T5, R>
    Seq<R>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, Function5<? super T1,? super T2,? super T3,? super T4,? super T5,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4>
    Seq<Tuple4<T1,T2,T3,T4>>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, T1 default1, T2 default2, T3 default3, T4 default4)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, T4, R>
    Seq<R>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, T1 default1, T2 default2, T3 default3, T4 default4, Function4<? super T1,? super T2,? super T3,? super T4,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, T1 default1, T2 default2, T3 default3)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, T3, R>
    Seq<R>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, T1 default1, T2 default2, T3 default3, Function3<? super T1,? super T2,? super T3,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2> Seq<Tuple2<T1,T2>>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, T1 default1, T2 default2)
    Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    static <T1, T2, R> Seq<R>
    zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, T1 default1, T2 default2, BiFunction<? super T1,? super T2,? extends R> zipper)
    Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.
    default Seq<Tuple2<T,Long>>
    Zip a Stream with a corresponding Stream of indexes.
    static <T> Seq<Tuple2<T,Long>>
    zipWithIndex(Iterable<? extends T> iterable)
    Zip a Stream with a corresponding Stream of indexes.
    static <T, R> Seq<R>
    zipWithIndex(Iterable<? extends T> iterable, BiFunction<? super T,? super Long,? extends R> zipper)
    Zip a stream with indexes into one using a BiFunction to produce resulting values.
    default <R> Seq<R>
    zipWithIndex(BiFunction<? super T,? super Long,? extends R> zipper)
    Zip a stream with indexes into one using a BiFunction to produce resulting values.
    static <T> Seq<Tuple2<T,Long>>
    zipWithIndex(Stream<? extends T> stream)
    Zip a Stream with a corresponding Stream of indexes.
    static <T, R> Seq<R>
    zipWithIndex(Stream<? extends T> stream, BiFunction<? super T,? super Long,? extends R> zipper)
    Zip a stream with indexes into one using a BiFunction to produce resulting values.
    static <T> Seq<Tuple2<T,Long>>
    zipWithIndex(Seq<? extends T> stream)
    Zip a Stream with a corresponding Stream of indexes.
    static <T, R> Seq<R>
    zipWithIndex(Seq<? extends T> stream, BiFunction<? super T,? super Long,? extends R> zipper)
    Zip a stream with indexes into one using a BiFunction to produce resulting values.

    Methods inherited from interface java.util.stream.BaseStream

    isParallel, iterator

    Methods inherited from interface java.lang.Iterable

    iterator
  • Method Details

    • stream

      Stream<T> stream()
      The underlying Stream implementation.
    • transform

      default <U> U transform(Function<? super Seq<T>,? extends U> transformer)
      Transform this stream into a new type.

      If certain operations are re-applied frequently to streams, this transform operation is very useful for such operations to be applied in a fluent style:

      
       Function&ltSeq<Integer>, Seq<String>> toString = s -> s.map(Objects::toString);
       Seq<String> strings =
       Seq.of(1, 2, 3)
          .transform(toString);
       
    • crossApply

      default <U> Seq<Tuple2<T,U>> crossApply(Function<? super T,? extends Iterable<? extends U>> function)
      Cross apply a function to this stream.

      This works like flatMap(java.util.function.Function), except that the result retains the original T values.

      // (tuple(1, 0), tuple(2, 0), tuple(2, 1)) Seq.of(1, 2).crossApply(t -> Seq.range(0, t))

    • outerApply

      default <U> Seq<Tuple2<T,U>> outerApply(Function<? super T,? extends Iterable<? extends U>> function)
      Outer apply a function to this stream.

      This works like flatMap(java.util.function.Function), except that the result retains the original T values.

      // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1)) Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))

    • crossJoin

      default <U> Seq<Tuple2<T,U>> crossJoin(Stream<? extends U> other)
      Cross join 2 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      default <U> Seq<Tuple2<T,U>> crossJoin(Iterable<? extends U> other)
      Cross join 2 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      default <U> Seq<Tuple2<T,U>> crossJoin(Seq<? extends U> other)
      Cross join 2 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossSelfJoin

      default Seq<Tuple2<T,T>> crossSelfJoin()
      Cross join stream with itself into one.

      
       // (tuple(1, 1), tuple(1, 2), tuple(2, 1), tuple(2, 2))
       Seq.of(1, 2).crossSelfJoin()
       
    • innerJoin

      default <U> Seq<Tuple2<T,U>> innerJoin(Stream<? extends U> other, BiPredicate<? super T,? super U> predicate)
      Inner join 2 streams into one.

      
       // (tuple(1, 1), tuple(2, 2))
       Seq.of(1, 2, 3).innerJoin(Seq.of(1, 2), (t, u) -> Objects.equals(t, u))
       
    • innerJoin

      default <U> Seq<Tuple2<T,U>> innerJoin(Iterable<? extends U> other, BiPredicate<? super T,? super U> predicate)
      Inner join 2 streams into one.

      
       // (tuple(1, 1), tuple(2, 2))
       Seq.of(1, 2, 3).innerJoin(Seq.of(1, 2), (t, u) -> Objects.equals(t, u))
       
    • innerJoin

      default <U> Seq<Tuple2<T,U>> innerJoin(Seq<? extends U> other, BiPredicate<? super T,? super U> predicate)
      Inner join 2 streams into one.

      
       // (tuple(1, 1), tuple(2, 2))
       Seq.of(1, 2, 3).innerJoin(Seq.of(1, 2), (t, u) -> Objects.equals(t, u))
       
    • innerSelfJoin

      default Seq<Tuple2<T,T>> innerSelfJoin(BiPredicate<? super T,? super T> predicate)
      Inner join stream with itself.

      
       // (tuple(1, 1), tuple(2, 2))
       Seq.of(1, 2).innerSelfJoin((t, u) -> Objects.equals(t, u))
       
    • leftOuterJoin

      default <U> Seq<Tuple2<T,U>> leftOuterJoin(Stream<? extends U> other, BiPredicate<? super T,? super U> predicate)
      Left outer join 2 streams into one.

      
       // (tuple(1, 1), tuple(2, 2), tuple(3, null))
       Seq.of(1, 2, 3).leftOuterJoin(Seq.of(1, 2), (t, u) -> Objects.equals(t, u))
       
    • leftOuterJoin

      default <U> Seq<Tuple2<T,U>> leftOuterJoin(Iterable<? extends U> other, BiPredicate<? super T,? super U> predicate)
      Left outer join 2 streams into one.

      
       // (tuple(1, 1), tuple(2, 2), tuple(3, null))
       Seq.of(1, 2, 3).leftOuterJoin(Seq.of(1, 2), (t, u) -> Objects.equals(t, u))
       
    • leftOuterJoin

      default <U> Seq<Tuple2<T,U>> leftOuterJoin(Seq<? extends U> other, BiPredicate<? super T,? super U> predicate)
      Left outer join 2 streams into one.

      
       // (tuple(1, 1), tuple(2, 2), tuple(3, null))
       Seq.of(1, 2, 3).leftOuterJoin(Seq.of(1, 2), (t, u) -> Objects.equals(t, u))
       
    • leftOuterSelfJoin

      default Seq<Tuple2<T,T>> leftOuterSelfJoin(BiPredicate<? super T,? super T> predicate)
      Left outer join one streams into itself.

      
       // (tuple(tuple(1, 0), NULL), tuple(tuple(2, 1), tuple(1, 0)))
       Seq.of(new Tuple2<Integer, Integer>(1, 0), new Tuple2<Integer, Integer>(2, 1)).leftOuterSelfJoin((t, u) -> Objects.equals(t.v2, u.v1))
       
    • rightOuterJoin

      default <U> Seq<Tuple2<T,U>> rightOuterJoin(Stream<? extends U> other, BiPredicate<? super T,? super U> predicate)
      Right outer join 2 streams into one.

      
       // (tuple(1, 1), tuple(2, 2), tuple(null, 3))
       Seq.of(1, 2).rightOuterJoin(Seq.of(1, 2, 3), (t, u) -> Objects.equals(t, u))
       
    • rightOuterJoin

      default <U> Seq<Tuple2<T,U>> rightOuterJoin(Iterable<? extends U> other, BiPredicate<? super T,? super U> predicate)
      Right outer join 2 streams into one.

      
       // (tuple(1, 1), tuple(2, 2), tuple(null, 3))
       Seq.of(1, 2).rightOuterJoin(Seq.of(1, 2, 3), (t, u) -> Objects.equals(t, u))
       
    • rightOuterJoin

      default <U> Seq<Tuple2<T,U>> rightOuterJoin(Seq<? extends U> other, BiPredicate<? super T,? super U> predicate)
      Right outer join 2 streams into one.

      
       // (tuple(1, 1), tuple(2, 2), tuple(null, 3))
       Seq.of(1, 2).rightOuterJoin(Seq.of(1, 2, 3), (t, u) -> Objects.equals(t, u))
       
    • rightOuterSelfJoin

      default Seq<Tuple2<T,T>> rightOuterSelfJoin(BiPredicate<? super T,? super T> predicate)
      Right outer join stream into itself.

      
       // (tuple(NULL, tuple(1, 0)), tuple(tuple(1, 0), tuple(2, 1)))
       Seq.of(new Tuple2<Integer, Integer>(1, 0), new Tuple2<Integer, Integer>(2, 1)).rightOuterSelfJoin((t, u) -> Objects.equals(t.v2, u.v1))
       
    • onEmpty

      default Seq<T> onEmpty(T value)
      Produce this stream, or an alternative stream with the value, in case this stream is empty.
    • onEmptyGet

      default Seq<T> onEmptyGet(Supplier<? extends T> supplier)
      Produce this stream, or an alternative stream with a value from the supplier, in case this stream is empty.
    • onEmptyThrow

      default <X extends Throwable> Seq<T> onEmptyThrow(Supplier<? extends X> supplier)
      Produce this stream, or throw a throwable from the supplier, in case this stream is empty.
    • concat

      default Seq<T> concat(Stream<? extends T> other)
      Concatenate two streams.

      
       // (1, 2, 3, 4, 5, 6)
       Seq.of(1, 2, 3).concat(Seq.of(4, 5, 6))
       
      See Also:
    • concat

      default Seq<T> concat(Iterable<? extends T> other)
      Concatenate two streams.

      
       // (1, 2, 3, 4, 5, 6)
       Seq.of(1, 2, 3).concat(Seq.of(4, 5, 6))
       
      See Also:
    • concat

      default Seq<T> concat(Seq<? extends T> other)
      Concatenate two streams.

      
       // (1, 2, 3, 4, 5, 6)
       Seq.of(1, 2, 3).concat(Seq.of(4, 5, 6))
       
      See Also:
    • concat

      default Seq<T> concat(T other)
      Concatenate two streams.

      
       // (1, 2, 3, 4)
       Seq.of(1, 2, 3).concat(4)
       
      See Also:
    • concat

      default Seq<T> concat(T... other)
      Concatenate two streams.

      
       // (1, 2, 3, 4, 5, 6)
       Seq.of(1, 2, 3).concat(4, 5, 6)
       
      See Also:
    • concat

      default Seq<T> concat(Optional<? extends T> other)
      Concatenate an optional value.

      
       // (1, 2, 3, 4)
       Seq.of(1, 2, 3).concat(Optional.of(4))
      
       // (1, 2, 3)
       Seq.of(1, 2, 3).concat(Optional.empty())
       
    • append

      default Seq<T> append(Stream<? extends T> other)
      Concatenate two streams.

      
       // (1, 2, 3, 4, 5, 6)
       Seq.of(1, 2, 3).append(Seq.of(4, 5, 6))
       
      See Also:
    • append

      default Seq<T> append(Iterable<? extends T> other)
      Concatenate two streams.

      
       // (1, 2, 3, 4, 5, 6)
       Seq.of(1, 2, 3).append(Seq.of(4, 5, 6))
       
      See Also:
    • append

      default Seq<T> append(Seq<? extends T> other)
      Concatenate two streams.

      
       // (1, 2, 3, 4, 5, 6)
       Seq.of(1, 2, 3).append(Seq.of(4, 5, 6))
       
      See Also:
    • append

      default Seq<T> append(T other)
      Concatenate two streams.

      
       // (1, 2, 3, 4)
       Seq.of(1, 2, 3).append(4)
       
      See Also:
    • append

      default Seq<T> append(T... other)
      Concatenate two streams.

      
       // (1, 2, 3, 4, 5, 6)
       Seq.of(1, 2, 3).append(4, 5, 6)
       
      See Also:
    • append

      default Seq<T> append(Optional<? extends T> other)
      Concatenate an optional value.

      
       // (1, 2, 3, 4)
       Seq.of(1, 2, 3).append(Optional.of(4))
      
       // (1, 2, 3)
       Seq.of(1, 2, 3).append(Optional.empty())
       
    • prepend

      default Seq<T> prepend(Stream<? extends T> other)
      Concatenate two streams.

      
       // (1, 2, 3, 4, 5, 6)
       Seq.of(4, 5, 6).prepend(Seq.of(1, 2, 3))
       
      See Also:
    • prepend

      default Seq<T> prepend(Iterable<? extends T> other)
      Concatenate two streams.

      
       // (1, 2, 3, 4, 5, 6)
       Seq.of(4, 5, 6).prepend(Seq.of(1, 2, 3))
       
      See Also:
    • prepend

      default Seq<T> prepend(Seq<? extends T> other)
      Concatenate two streams.

      
       // (1, 2, 3, 4, 5, 6)
       Seq.of(4, 5, 6).prepend(Seq.of(1, 2, 3))
       
      See Also:
    • prepend

      default Seq<T> prepend(T other)
      Concatenate two streams.

      
       // (1, 2, 3, 4)
       Seq.of(2, 3, 4).prepend(1)
       
      See Also:
    • prepend

      default Seq<T> prepend(T... other)
      Concatenate two streams.

      
       // (1, 2, 3, 4, 5, 6)
       Seq.of(4, 5, 6).prepend(Seq.of(1, 2, 3))
       
      See Also:
    • prepend

      default Seq<T> prepend(Optional<? extends T> other)
      Concatenate an optional value.

      
       // (0, 1, 2, 3)
       Seq.of(1, 2, 3).prepend(Optional.of(0))
      
       // (1, 2, 3)
       Seq.of(1, 2, 3).prepend(Optional.empty())
       
    • contains

      default boolean contains(T other)
      Check whether this stream contains a given value.

      
       // true
       Seq.of(1, 2, 3).contains(2)
       
    • containsAll

      default boolean containsAll(T... other)
      Check whether this stream contains all given values.

      
       // true
       Seq.of(1, 2, 3).containsAll(2, 3)
       
    • containsAll

      default boolean containsAll(Stream<? extends T> other)
      Check whether this stream contains all given values.

      
       // true
       Seq.of(1, 2, 3).containsAll(2, 3)
       
    • containsAll

      default boolean containsAll(Iterable<? extends T> other)
      Check whether this stream contains all given values.

      
       // true
       Seq.of(1, 2, 3).containsAll(2, 3)
       
    • containsAll

      default boolean containsAll(Seq<? extends T> other)
      Check whether this stream contains all given values.

      
       // true
       Seq.of(1, 2, 3).containsAll(2, 3)
       
    • containsAny

      default boolean containsAny(T... other)
      Check whether this stream contains any of the given values.

      
       // true
       Seq.of(1, 2, 3).containsAny(2, 4)
       
    • containsAny

      default boolean containsAny(Stream<? extends T> other)
      Check whether this stream contains any of the given values.

      
       // true
       Seq.of(1, 2, 3).containsAny(2, 4)
       
    • containsAny

      default boolean containsAny(Iterable<? extends T> other)
      Check whether this stream contains any of the given values.

      
       // true
       Seq.of(1, 2, 3).containsAny(2, 4)
       
    • containsAny

      default boolean containsAny(Seq<? extends T> other)
      Check whether this stream contains any of the given values.

      
       // true
       Seq.of(1, 2, 3).containsAny(2, 4)
       
    • get

      default Optional<T> get(long index)
      Get a single element from the stream at a given index.
    • findSingle

      default Optional<T> findSingle() throws TooManyElementsException
      Get the single element from the stream, or throw an exception if the stream holds more than one element.
      Throws:
      TooManyElementsException
    • findFirst

      default Optional<T> findFirst(Predicate<? super T> predicate)
      Get the first element from the stream given a predicate.
    • findLast

      default Optional<T> findLast()
      Get the last element from the stream.
    • findLast

      default Optional<T> findLast(Predicate<? super T> predicate)
      Get a last element from the stream given a predicate.
    • indexOf

      default OptionalLong indexOf(T element)
      Get the index of the first element from the stream equal to given element.
    • indexOf

      default OptionalLong indexOf(Predicate<? super T> predicate)
      Get the index of the first element from the stream matching given predicate.
    • remove

      default Seq<T> remove(T other)
      Return a new stream where the first occurrence of the argument is removed.

      
       // 1, 3, 2, 4
       Seq.of(1, 2, 3, 2, 4).remove(2)
       
    • removeAll

      default Seq<T> removeAll(T... other)
      Return a new stream where all occurrences of the arguments are removed.

      
       // 1, 4
       Seq.of(1, 2, 3, 2, 4).removeAll(2, 3)
       
    • removeAll

      default Seq<T> removeAll(Stream<? extends T> other)
      Return a new stream where all occurrences of the arguments are removed.

      
       // 1, 4
       Seq.of(1, 2, 3, 2, 4).removeAll(2, 3)
       
    • removeAll

      default Seq<T> removeAll(Iterable<? extends T> other)
      Return a new stream where all occurrences of the arguments are removed.

      
       // 1, 4
       Seq.of(1, 2, 3, 2, 4).removeAll(2, 3)
       
    • removeAll

      default Seq<T> removeAll(Seq<? extends T> other)
      Return a new stream where all occurrences of the arguments are removed.

      
       // 1, 4
       Seq.of(1, 2, 3, 2, 4).removeAll(2, 3)
       
    • retainAll

      default Seq<T> retainAll(T... other)
      Return a new stream where only occurrences of the arguments are retained.

      
       // 2, 3, 2
       Seq.of(1, 2, 3, 2, 4).retainAll(2, 3)
       
    • retainAll

      default Seq<T> retainAll(Stream<? extends T> other)
      Return a new stream where only occurrences of the arguments are retained.

      
       // 2, 3, 2
       Seq.of(1, 2, 3, 2, 4).retainAll(2, 3)
       
    • retainAll

      default Seq<T> retainAll(Iterable<? extends T> other)
      Return a new stream where only occurrences of the arguments are retained.

      
       // 2, 3, 2
       Seq.of(1, 2, 3, 2, 4).retainAll(2, 3)
       
    • retainAll

      default Seq<T> retainAll(Seq<? extends T> other)
      Return a new stream where only occurrences of the arguments are retained.

      
       // 2, 3, 2
       Seq.of(1, 2, 3, 2, 4).retainAll(2, 3)
       
    • cycle

      default Seq<T> cycle()
      Repeat a stream infinitely.

      
       // (1, 2, 3, 1, 2, 3, ...)
       Seq.of(1, 2, 3).cycle();
       
      See Also:
    • cycle

      default Seq<T> cycle(long times)
      Repeat a stream a certain amount of times.

      
       // ()
       Seq.of(1, 2, 3).cycle(0);
       
       // (1, 2, 3)
       Seq.of(1, 2, 3).cycle(1);
       
       // (1, 2, 3, 1, 2, 3, 1, 2, 3)
       Seq.of(1, 2, 3).cycle(3);
       
      See Also:
    • distinct

      default <U> Seq<T> distinct(Function<? super T,? extends U> keyExtractor)
      Get a stream of distinct keys.

      
       // (1, 2, 3)
       Seq.of(1, 1, 2, -2, 3).distinct(Math::abs)
       
    • zip

      default <U> Seq<Tuple2<T,U>> zip(Stream<? extends U> other)
      Zip two streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
      See Also:
    • zip

      default <U> Seq<Tuple2<T,U>> zip(Iterable<? extends U> other)
      Zip two streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
      See Also:
    • zip

      default <U> Seq<Tuple2<T,U>> zip(Seq<? extends U> other)
      Zip two streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
      See Also:
    • zip

      default <U, R> Seq<R> zip(Stream<? extends U> other, BiFunction<? super T,? super U,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
      See Also:
    • zip

      default <U, R> Seq<R> zip(Iterable<? extends U> other, BiFunction<? super T,? super U,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
      See Also:
    • zip

      default <U, R> Seq<R> zip(Seq<? extends U> other, BiFunction<? super T,? super U,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
      See Also:
    • zipAll

      static <T1, T2> Seq<Tuple2<T1,T2>> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, T1 default1, T2 default2)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, T1 default1, T2 default2, T3 default3)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4> Seq<Tuple4<T1,T2,T3,T4>> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, T1 default1, T2 default2, T3 default3, T4 default4)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5> Seq<Tuple5<T1,T2,T3,T4,T5>> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6> Seq<Tuple6<T1,T2,T3,T4,T5,T6>> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7> Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8> Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9> Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15, Stream<? extends T16> s16, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, T16 default16)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2> Seq<Tuple2<T1,T2>> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, T1 default1, T2 default2)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, T1 default1, T2 default2, T3 default3)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4> Seq<Tuple4<T1,T2,T3,T4>> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, T1 default1, T2 default2, T3 default3, T4 default4)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5> Seq<Tuple5<T1,T2,T3,T4,T5>> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6> Seq<Tuple6<T1,T2,T3,T4,T5,T6>> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7> Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8> Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9> Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, Iterable<? extends T13> s13, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, Iterable<? extends T13> s13, Iterable<? extends T14> s14, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, Iterable<? extends T13> s13, Iterable<? extends T14> s14, Iterable<? extends T15> s15, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, Iterable<? extends T13> s13, Iterable<? extends T14> s14, Iterable<? extends T15> s15, Iterable<? extends T16> s16, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, T16 default16)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2> Seq<Tuple2<T1,T2>> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, T1 default1, T2 default2)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, T1 default1, T2 default2, T3 default3)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4> Seq<Tuple4<T1,T2,T3,T4>> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, T1 default1, T2 default2, T3 default3, T4 default4)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5> Seq<Tuple5<T1,T2,T3,T4,T5>> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6> Seq<Tuple6<T1,T2,T3,T4,T5,T6>> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7> Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8> Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9> Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15, Seq<? extends T16> s16, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, T16 default16)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, R> Seq<R> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, T1 default1, T2 default2, BiFunction<? super T1,? super T2,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, R> Seq<R> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, T1 default1, T2 default2, T3 default3, Function3<? super T1,? super T2,? super T3,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, R> Seq<R> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, T1 default1, T2 default2, T3 default3, T4 default4, Function4<? super T1,? super T2,? super T3,? super T4,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, R> Seq<R> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, Function5<? super T1,? super T2,? super T3,? super T4,? super T5,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, R> Seq<R> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, R> Seq<R> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, Function7<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, R> Seq<R> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Seq<R> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, Function9<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R> Seq<R> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, Function10<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R> Seq<R> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, Function11<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R> Seq<R> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, Function12<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R> Seq<R> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, Function13<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R> Seq<R> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, Function14<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R> Seq<R> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, Function15<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R> Seq<R> zipAll(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15, Stream<? extends T16> s16, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, T16 default16, Function16<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? super T16,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, R> Seq<R> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, T1 default1, T2 default2, BiFunction<? super T1,? super T2,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, R> Seq<R> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, T1 default1, T2 default2, T3 default3, Function3<? super T1,? super T2,? super T3,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, R> Seq<R> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, T1 default1, T2 default2, T3 default3, T4 default4, Function4<? super T1,? super T2,? super T3,? super T4,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, R> Seq<R> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, Function5<? super T1,? super T2,? super T3,? super T4,? super T5,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, R> Seq<R> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, R> Seq<R> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, Function7<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, R> Seq<R> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Seq<R> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, Function9<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R> Seq<R> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, Function10<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R> Seq<R> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, Function11<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R> Seq<R> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, Function12<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R> Seq<R> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, Iterable<? extends T13> s13, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, Function13<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R> Seq<R> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, Iterable<? extends T13> s13, Iterable<? extends T14> s14, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, Function14<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R> Seq<R> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, Iterable<? extends T13> s13, Iterable<? extends T14> s14, Iterable<? extends T15> s15, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, Function15<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R> Seq<R> zipAll(Iterable<? extends T1> s1, Iterable<? extends T2> s2, Iterable<? extends T3> s3, Iterable<? extends T4> s4, Iterable<? extends T5> s5, Iterable<? extends T6> s6, Iterable<? extends T7> s7, Iterable<? extends T8> s8, Iterable<? extends T9> s9, Iterable<? extends T10> s10, Iterable<? extends T11> s11, Iterable<? extends T12> s12, Iterable<? extends T13> s13, Iterable<? extends T14> s14, Iterable<? extends T15> s15, Iterable<? extends T16> s16, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, T16 default16, Function16<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? super T16,? extends R> zipper)
      Zip two streams into one - by storing the corresponding elements from them in a tuple, when one of streams will end - a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // (tuple(1, "a"), tuple(2, "x"), tuple(3, "x"))
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x")
       
    • zipAll

      static <T1, T2, R> Seq<R> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, T1 default1, T2 default2, BiFunction<? super T1,? super T2,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // ("1:a", "2:x", "3:x")
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x", (i, s) -> i + ":" + s)
       
    • zipAll

      static <T1, T2, T3, R> Seq<R> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, T1 default1, T2 default2, T3 default3, Function3<? super T1,? super T2,? super T3,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // ("1:a", "2:x", "3:x")
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x", (i, s) -> i + ":" + s)
       
    • zipAll

      static <T1, T2, T3, T4, R> Seq<R> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, T1 default1, T2 default2, T3 default3, T4 default4, Function4<? super T1,? super T2,? super T3,? super T4,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // ("1:a", "2:x", "3:x")
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x", (i, s) -> i + ":" + s)
       
    • zipAll

      static <T1, T2, T3, T4, T5, R> Seq<R> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, Function5<? super T1,? super T2,? super T3,? super T4,? super T5,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // ("1:a", "2:x", "3:x")
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x", (i, s) -> i + ":" + s)
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, R> Seq<R> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // ("1:a", "2:x", "3:x")
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x", (i, s) -> i + ":" + s)
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, R> Seq<R> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, Function7<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // ("1:a", "2:x", "3:x")
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x", (i, s) -> i + ":" + s)
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, R> Seq<R> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // ("1:a", "2:x", "3:x")
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x", (i, s) -> i + ":" + s)
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Seq<R> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, Function9<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // ("1:a", "2:x", "3:x")
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x", (i, s) -> i + ":" + s)
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R> Seq<R> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, Function10<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // ("1:a", "2:x", "3:x")
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x", (i, s) -> i + ":" + s)
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R> Seq<R> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, Function11<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // ("1:a", "2:x", "3:x")
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x", (i, s) -> i + ":" + s)
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R> Seq<R> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, Function12<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // ("1:a", "2:x", "3:x")
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x", (i, s) -> i + ":" + s)
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R> Seq<R> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, Function13<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // ("1:a", "2:x", "3:x")
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x", (i, s) -> i + ":" + s)
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R> Seq<R> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, Function14<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // ("1:a", "2:x", "3:x")
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x", (i, s) -> i + ":" + s)
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R> Seq<R> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, Function15<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // ("1:a", "2:x", "3:x")
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x", (i, s) -> i + ":" + s)
       
    • zipAll

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R> Seq<R> zipAll(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15, Seq<? extends T16> s16, T1 default1, T2 default2, T3 default3, T4 default4, T5 default5, T6 default6, T7 default7, T8 default8, T9 default9, T10 default10, T11 default11, T12 default12, T13 default13, T14 default14, T15 default15, T16 default16, Function16<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? super T16,? extends R> zipper)
      Zip two streams into one using a BiFunction to produce resulting values, when one of streams will end, a default value for that stream will be provided instead - so the resulting stream will be as long as the longest of the two streams.

      
       // ("1:a", "2:x", "3:x")
       Seq.zipAll(Seq.of(1, 2, 3), Seq.of("a"), 0, "x", (i, s) -> i + ":" + s)
       
    • zipWithIndex

      default Seq<Tuple2<T,Long>> zipWithIndex()
      Zip a Stream with a corresponding Stream of indexes.

      
       // (tuple("a", 0), tuple("b", 1), tuple("c", 2))
       Seq.of("a", "b", "c").zipWithIndex()
       
      See Also:
    • zipWithIndex

      default <R> Seq<R> zipWithIndex(BiFunction<? super T,? super Long,? extends R> zipper)
      Zip a stream with indexes into one using a BiFunction to produce resulting values.

      
       // ("0:a", "1:b", "2:c")
       Seq.of("a", "b", "c").zipWithIndex((s, i) -> i + ":" + s))
       
      See Also:
    • foldLeft

      default <U> U foldLeft(U seed, BiFunction<? super U,? super T,? extends U> function)
      Fold a Stream to the left.

      
       // "!abc"
       Seq.of("a", "b", "c").foldLeft("!", (u, t) -> u + t)
       
    • foldRight

      default <U> U foldRight(U seed, BiFunction<? super T,? super U,? extends U> function)
      Fold a Stream to the right.

      
       // "abc!"
       Seq.of("a", "b", "c").foldRight("!", (t, u) -> t + u)
       
    • scanLeft

      default <U> Seq<U> scanLeft(U seed, BiFunction<? super U,? super T,? extends U> function)
      Scan a stream to the left.

      
       // ("", "a", "ab", "abc")
       Seq.of("a", "b", "c").scanLeft("", (u, t) -> u + t)
       
    • scanRight

      default <U> Seq<U> scanRight(U seed, BiFunction<? super T,? super U,? extends U> function)
      Scan a stream to the right.

      
       // ("", "c", "cb", "cba")
       Seq.of("a", "b", "c").scanRight("", (t, u) -> u + t)
       
    • reverse

      default Seq<T> reverse()
      Reverse a stream.

      
       // (3, 2, 1)
       Seq.of(1, 2, 3).reverse()
       
    • shuffle

      default Seq<T> shuffle()
      Shuffle a stream

      
       // e.g. (2, 3, 1)
       Seq.of(1, 2, 3).shuffle()
       
    • shuffle

      default Seq<T> shuffle(Random random)
      Shuffle a stream using specified source of randomness

      
       // e.g. (2, 3, 1)
       Seq.of(1, 2, 3).shuffle(new Random())
       
    • skipWhile

      default Seq<T> skipWhile(Predicate<? super T> predicate)
      Returns a stream with all elements skipped for which a predicate evaluates to true.

      
       // (3, 4, 5)
       Seq.of(1, 2, 3, 4, 5).skipWhile(i -> i < 3)
       
      See Also:
    • skipWhileClosed

      default Seq<T> skipWhileClosed(Predicate<? super T> predicate)
      Returns a stream with all elements skipped for which a predicate evaluates to true plus the first element for which it evaluates to false.

      
       // (4, 5)
       Seq.of(1, 2, 3, 4, 5).skipWhileClosed(i -> i < 3)
       
      See Also:
    • skipUntil

      default Seq<T> skipUntil(Predicate<? super T> predicate)
      Returns a stream with all elements skipped for which a predicate evaluates to false.

      
       // (3, 4, 5)
       Seq.of(1, 2, 3, 4, 5).skipUntil(i -> i == 3)
       
      See Also:
    • skipUntilClosed

      default Seq<T> skipUntilClosed(Predicate<? super T> predicate)
      Returns a stream with all elements skipped for which a predicate evaluates to false plus the first element for which it evaluates to true.

      
       // (4, 5)
       Seq.of(1, 2, 3, 4, 5).skipUntilClosed(i -> i == 3)
       
      See Also:
    • limitWhile

      default Seq<T> limitWhile(Predicate<? super T> predicate)
      Returns a stream limited to all elements for which a predicate evaluates to true.

      
       // (1, 2)
       Seq.of(1, 2, 3, 4, 5).limitWhile(i -> i < 3)
       
      See Also:
    • limitWhileClosed

      default Seq<T> limitWhileClosed(Predicate<? super T> predicate)
      Returns a stream limited to all elements for which a predicate evaluates to true plus the first element for which it evaluates to false.

      
       // (1, 2, 3)
       Seq.of(1, 2, 3, 4, 5).limitWhileClosed(i -> i < 3)
       
      See Also:
    • limitUntil

      default Seq<T> limitUntil(Predicate<? super T> predicate)
      Returns a stream limited to all elements for which a predicate evaluates to false.

      
       // (1, 2)
       Seq.of(1, 2, 3, 4, 5).limitUntil(i -> i == 3)
       
      See Also:
    • limitUntilClosed

      default Seq<T> limitUntilClosed(Predicate<? super T> predicate)
      Returns a stream limited to all elements for which a predicate evaluates to false plus the first element for which it evaluates to true.

      
       // (1, 2, 3)
       Seq.of(1, 2, 3, 4, 5).limitUntilClosed(i -> i == 3)
       
      See Also:
    • intersperse

      default Seq<T> intersperse(T value)
      Returns a stream with a given value interspersed between any two values of this stream.

      
       // (1, 0, 2, 0, 3, 0, 4)
       Seq.of(1, 2, 3, 4).intersperse(0)
       
      See Also:
    • duplicate

      default Tuple2<Seq<T>,Seq<T>> duplicate()
      Duplicate a Streams into two equivalent Streams.

      
       // tuple((1, 2, 3), (1, 2, 3))
       Seq.of(1, 2, 3).duplicate()
       
      See Also:
    • grouped

      default <K> Seq<Tuple2<K,Seq<T>>> grouped(Function<? super T,? extends K> classifier)
      Classify this stream's elements according to a given classifier function.

      
       // Seq(tuple(1, Seq(1, 3, 5)), tuple(0, Seq(2, 4, 6)))
       Seq.of(1, 2, 3, 4, 5, 6).grouped(i -> i % 2)
       // Seq(tuple(true, Seq(1, 3, 5)), tuple(false, Seq(2, 4, 6)))
       Seq.of(1, 2, 3, 4, 5, 6).grouped(i -> i % 2 != 0)
       
      This is a non-terminal analog of groupBy(Function))
      See Also:
    • grouped

      default <K, A, D> Seq<Tuple2<K,D>> grouped(Function<? super T,? extends K> classifier, Collector<? super T,A,D> downstream)
      Classify this stream's elements according to a given classifier function and collect each class's elements using a collector.

      
       // Seq(tuple(1, 9), tuple(0, 12))
       Seq.of(1, 2, 3, 4, 5, 6).grouped(i -> i % 2, Collectors.summingInt(i -> i))
       // Seq(tuple(true, 9), tuple(false, 12))
       Seq.of(1, 2, 3, 4, 5, 6).grouped(i -> i % 2 != 0, Collectors.summingInt(i -> i))
       
      This is a non-terminal analog of groupBy(Function, Collector))
      See Also:
    • partition

      default Tuple2<Seq<T>,Seq<T>> partition(Predicate<? super T> predicate)
      Partition a stream into two given a predicate.

      
       // tuple((1, 3, 5), (2, 4, 6))
       Seq.of(1, 2, 3, 4, 5, 6).partition(i -> i % 2 != 0)
       
      See Also:
    • splitAt

      default Tuple2<Seq<T>,Seq<T>> splitAt(long position)
      Split a stream at a given position.

      
       // tuple((1, 2, 3), (4, 5, 6))
       Seq.of(1, 2, 3, 4, 5, 6).splitAt(3)
       
      See Also:
    • splitAtHead

      default Tuple2<Optional<T>,Seq<T>> splitAtHead()
      Split a stream at the head.

      
       // tuple(1, (2, 3, 4, 5, 6))
       Seq.of(1, 2, 3, 4, 5, 6).splitHead(3)
       
      See Also:
    • slice

      default Seq<T> slice(long from, long to)
      Returns a limited interval from a given Stream.

      
       // (4, 5)
       Seq.of(1, 2, 3, 4, 5, 6).slice(3, 5)
       
      See Also:
    • isEmpty

      default boolean isEmpty()
      Check if the sequence has any elements
    • isNotEmpty

      default boolean isNotEmpty()
      Check if the sequence has no elements
    • sorted

      default <U extends Comparable<? super U>> Seq<T> sorted(Function<? super T,? extends U> function)
      Sort by the results of function.
    • sorted

      default <U> Seq<T> sorted(Function<? super T,? extends U> function, Comparator<? super U> comparator)
      Sort by the results of function.
    • ofType

      default <U> Seq<U> ofType(Class<? extends U> type)
      Keep only those elements in a stream that are of a given type.

      
       // (1, 2, 3)
       Seq.of(1, "a", 2, "b", 3).ofType(Integer.class)
       
      See Also:
    • cast

      default <U> Seq<U> cast(Class<? extends U> type)
      Cast all elements in a stream to a given type, possibly throwing a ClassCastException.

      
       // ClassCastException
       Seq.of(1, "a", 2, "b", 3).cast(Integer.class)
       
      See Also:
    • sliding

      default Seq<Seq<T>> sliding(long size)
      Map this stream to a stream containing a sliding window over the previous stream.

      
       // ((1, 2, 3), (2, 3, 4), (3, 4, 5))
       .of(1, 2, 3, 4, 5).sliding(3);
       

      This is equivalent as using the more verbose window function version:

      
       int n = 3;
       Seq.of(1, 2, 3, 4, 5)
          .window(0, n - 1)
          .filter(w -> w.count() == n)
          .map(w -> w.toList());
       
    • window

      default Seq<Window<T>> window()
      Map this stream to a windowed stream using the default partition and order.

      
       // (0, 1, 2, 3, 4)
       Seq.of(1, 2, 4, 2, 3).window().map(Window::rowNumber)
       
    • window

      default Seq<Window<T>> window(long lower, long upper)
      Map this stream to a windowed stream using the default partition and order with frame.

      
       // (2, 4, 4, 4, 3)
       Seq.of(1, 2, 4, 2, 3).window(-1, 1).map(Window::max)
       
    • window

      default Seq<Window<T>> window(Comparator<? super T> orderBy)
      Map this stream to a windowed stream using the default partition and a specific order.

      
       // (0, 1, 4, 2, 3)
       Seq.of(1, 2, 4, 2, 3).window(naturalOrder()).map(Window::rowNumber)
       
    • window

      default Seq<Window<T>> window(Comparator<? super T> orderBy, long lower, long upper)
      Map this stream to a windowed stream using the default partition and a specific order with frame.

      
       // (1, 1, 3, 2, 2)
       Seq.of(1, 2, 4, 2, 3).window(naturalOrder(), -1, 1).map(Window::min)
       
    • window

      default <U> Seq<Window<T>> window(Function<? super T,? extends U> partitionBy)
      Map this stream to a windowed stream using a specific partition and the default order.

      
       // (1, 2, 2, 2, 1)
       Seq.of(1, 2, 4, 2, 3).window(i -> i % 2).map(Window::min)
       
    • window

      default <U> Seq<Window<T>> window(Function<? super T,? extends U> partitionBy, long lower, long upper)
      Map this stream to a windowed stream using a specific partition and the default order.

      
       // (3, 4, 4, 2, 3)
       Seq.of(1, 4, 2, 2, 3).window(i -> i % 2, -1, 1).map(Window::max)
       
    • window

      default <U> Seq<Window<T>> window(Function<? super T,? extends U> partitionBy, Comparator<? super T> orderBy)
      Map this stream to a windowed stream using a specific partition and order.

      
       // (1, 2, 4, 4, 3)
       Seq.of(1, 2, 4, 2, 3).window(i -> i % 2, naturalOrder()).map(Window::max)
       
    • window

      default <U> Seq<Window<T>> window(Function<? super T,? extends U> partitionBy, Comparator<? super T> orderBy, long lower, long upper)
      Map this stream to a windowed stream using a specific partition and order with frame.

      
       // (3, 2, 4, 4, 3)
       Seq.of(1, 2, 4, 2, 3).window(i -> i % 2, naturalOrder(), -1, 1).map(Window::max)
       
    • window

      default Seq<Tuple1<Window<T>>> window(WindowSpecification<T> specification1)
      Map this stream to a windowed stream with 1 distinct windows.
    • window

      default Seq<Tuple2<Window<T>,Window<T>>> window(WindowSpecification<T> specification1, WindowSpecification<T> specification2)
      Map this stream to a windowed stream with 2 distinct windows.
    • window

      default Seq<Tuple3<Window<T>,Window<T>,Window<T>>> window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3)
      Map this stream to a windowed stream with 3 distinct windows.
    • window

      default Seq<Tuple4<Window<T>,Window<T>,Window<T>,Window<T>>> window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4)
      Map this stream to a windowed stream with 4 distinct windows.
    • window

      default Seq<Tuple5<Window<T>,Window<T>,Window<T>,Window<T>,Window<T>>> window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5)
      Map this stream to a windowed stream with 5 distinct windows.
    • window

      default Seq<Tuple6<Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>>> window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6)
      Map this stream to a windowed stream with 6 distinct windows.
    • window

      default Seq<Tuple7<Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>>> window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7)
      Map this stream to a windowed stream with 7 distinct windows.
    • window

      default Seq<Tuple8<Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>>> window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8)
      Map this stream to a windowed stream with 8 distinct windows.
    • window

      default Seq<Tuple9<Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>>> window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8, WindowSpecification<T> specification9)
      Map this stream to a windowed stream with 9 distinct windows.
    • window

      default Seq<Tuple10<Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>>> window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8, WindowSpecification<T> specification9, WindowSpecification<T> specification10)
      Map this stream to a windowed stream with 10 distinct windows.
    • window

      default Seq<Tuple11<Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>>> window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8, WindowSpecification<T> specification9, WindowSpecification<T> specification10, WindowSpecification<T> specification11)
      Map this stream to a windowed stream with 11 distinct windows.
    • window

      default Seq<Tuple12<Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>>> window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8, WindowSpecification<T> specification9, WindowSpecification<T> specification10, WindowSpecification<T> specification11, WindowSpecification<T> specification12)
      Map this stream to a windowed stream with 12 distinct windows.
    • window

      default Seq<Tuple13<Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>>> window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8, WindowSpecification<T> specification9, WindowSpecification<T> specification10, WindowSpecification<T> specification11, WindowSpecification<T> specification12, WindowSpecification<T> specification13)
      Map this stream to a windowed stream with 13 distinct windows.
    • window

      default Seq<Tuple14<Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>>> window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8, WindowSpecification<T> specification9, WindowSpecification<T> specification10, WindowSpecification<T> specification11, WindowSpecification<T> specification12, WindowSpecification<T> specification13, WindowSpecification<T> specification14)
      Map this stream to a windowed stream with 14 distinct windows.
    • window

      default Seq<Tuple15<Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>>> window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8, WindowSpecification<T> specification9, WindowSpecification<T> specification10, WindowSpecification<T> specification11, WindowSpecification<T> specification12, WindowSpecification<T> specification13, WindowSpecification<T> specification14, WindowSpecification<T> specification15)
      Map this stream to a windowed stream with 15 distinct windows.
    • window

      default Seq<Tuple16<Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>,Window<T>>> window(WindowSpecification<T> specification1, WindowSpecification<T> specification2, WindowSpecification<T> specification3, WindowSpecification<T> specification4, WindowSpecification<T> specification5, WindowSpecification<T> specification6, WindowSpecification<T> specification7, WindowSpecification<T> specification8, WindowSpecification<T> specification9, WindowSpecification<T> specification10, WindowSpecification<T> specification11, WindowSpecification<T> specification12, WindowSpecification<T> specification13, WindowSpecification<T> specification14, WindowSpecification<T> specification15, WindowSpecification<T> specification16)
      Map this stream to a windowed stream with 16 distinct windows.
    • groupBy

      default <K> Map<K,List<T>> groupBy(Function<? super T,? extends K> classifier)
      Shortcut for calling Stream.collect(Collector) with a Collectors.groupingBy(Function) collector.
    • groupBy

      default <K, A, D> Map<K,D> groupBy(Function<? super T,? extends K> classifier, Collector<? super T,A,D> downstream)
    • groupBy

      default <K, D, A, M extends Map<K, D>> M groupBy(Function<? super T,? extends K> classifier, Supplier<M> mapFactory, Collector<? super T,A,D> downstream)
    • join

      @Deprecated default String join()
      Deprecated.
      - Use Object.toString() instead. This method will be removed in the future as it causes confusion with innerJoin(Seq, BiPredicate).
      Shortcut for calling Stream.collect(Collector) with a Collectors.joining() collector.
    • join

      @Deprecated default String join(CharSequence delimiter)
      Deprecated.
      - Use Collectable.toString(CharSequence) instead. This method will be removed in the future as it causes confusion with innerJoin(Seq, BiPredicate).
      Shortcut for calling Stream.collect(Collector) with a Collectors.joining(CharSequence) collector.
    • join

      @Deprecated default String join(CharSequence delimiter, CharSequence prefix, CharSequence suffix)
      Deprecated.
      - Use Collectable.toString(CharSequence, CharSequence, CharSequence) instead. This method will be removed in the future as it causes confusion with innerJoin(Seq, BiPredicate).
    • of

      static <T> Seq<T> of(T value)
      See Also:
    • of

      @SafeVarargs static <T> Seq<T> of(T... values)
      See Also:
    • range

      static Seq<Byte> range(byte fromInclusive, byte toExclusive)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toExclusive - The upper bound
    • range

      static Seq<Byte> range(byte fromInclusive, byte toExclusive, int step)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toExclusive - The upper bound
      step - The increase between two values
    • range

      static Seq<Short> range(short fromInclusive, short toExclusive)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toExclusive - The upper bound
    • range

      static Seq<Short> range(short fromInclusive, short toExclusive, int step)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toExclusive - The upper bound
      step - The increase between two values
    • range

      static Seq<Character> range(char fromInclusive, char toExclusive)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toExclusive - The upper bound
    • range

      static Seq<Character> range(char fromInclusive, char toExclusive, int step)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toExclusive - The upper bound
      step - The increase between two values
    • range

      static Seq<Integer> range(int fromInclusive, int toExclusive)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toExclusive - The upper bound
    • range

      static Seq<Integer> range(int fromInclusive, int toExclusive, int step)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toExclusive - The upper bound
      step - The increase between two values
    • range

      static Seq<Long> range(long fromInclusive, long toExclusive)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toExclusive - The upper bound
    • range

      static Seq<Long> range(long fromInclusive, long toExclusive, long step)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toExclusive - The upper bound
      step - The increase between two values
    • range

      static Seq<Instant> range(Instant fromInclusive, Instant toExclusive)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toExclusive - The upper bound
    • range

      static Seq<Instant> range(Instant fromInclusive, Instant toExclusive, Duration step)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toExclusive - The upper bound
      step - The increase between two values
    • rangeClosed

      static Seq<Byte> rangeClosed(byte fromInclusive, byte toInclusive)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toInclusive - The upper bound
    • rangeClosed

      static Seq<Byte> rangeClosed(byte fromInclusive, byte toInclusive, int step)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toInclusive - The upper bound
      step - The increase between two values
    • rangeClosed

      static Seq<Short> rangeClosed(short fromInclusive, short toInclusive)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toInclusive - The upper bound
    • rangeClosed

      static Seq<Short> rangeClosed(short fromInclusive, short toInclusive, int step)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toInclusive - The upper bound
      step - The increase between two values
    • rangeClosed

      static Seq<Character> rangeClosed(char fromInclusive, char toInclusive)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toInclusive - The upper bound
    • rangeClosed

      static Seq<Character> rangeClosed(char fromInclusive, char toInclusive, int step)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toInclusive - The upper bound
      step - The increase between two values
    • rangeClosed

      static Seq<Integer> rangeClosed(int fromInclusive, int toInclusive)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toInclusive - The upper bound
    • rangeClosed

      static Seq<Integer> rangeClosed(int fromInclusive, int toInclusive, int step)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toInclusive - The upper bound
      step - The increase between two values
    • rangeClosed

      static Seq<Long> rangeClosed(long fromInclusive, long toInclusive)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toInclusive - The upper bound
    • rangeClosed

      static Seq<Long> rangeClosed(long fromInclusive, long toInclusive, long step)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toInclusive - The upper bound
      step - The increase between two values
    • rangeClosed

      static Seq<Instant> rangeClosed(Instant fromInclusive, Instant toInclusive)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toInclusive - The upper bound
    • rangeClosed

      static Seq<Instant> rangeClosed(Instant fromInclusive, Instant toInclusive, Duration step)
      The range between two values.
      Parameters:
      fromInclusive - The lower bound
      toInclusive - The upper bound
      step - The increase between two values
    • empty

      static <T> Seq<T> empty()
      See Also:
    • iterate

      static <T> Seq<T> iterate(T seed, UnaryOperator<T> f)
      See Also:
    • iterateWhilePresent

      static <T> Seq<T> iterateWhilePresent(T seed, Function<? super T,Optional<? extends T>> generator)
      Returns a sequence of elements provided by the generator until it returns Optional.empty() (in other words, it performs iterateUntilAbsent).
    • generate

      static Seq<Void> generate()
      See Also:
    • generate

      static <T> Seq<T> generate(T value)
      See Also:
    • generate

      static <T> Seq<T> generate(Supplier<? extends T> s)
      See Also:
    • seq

      static <T> Seq<T> seq(T[] values)
      Wrap an array into a Seq.
    • seq

      static <T> Seq<T> seq(T[] values, int startIndex, int endIndex)
      Wrap an array slice into a Seq.
      Throws:
      IndexOutOfBoundsException - if (startIndex < 0 || endIndex > size || startIndex > endIndex)
    • seq

      static <T> Seq<T> seq(Stream<? extends T> stream)
      Wrap a Stream into a Seq.
    • seq

      static <T> Seq<T> seq(Seq<? extends T> stream)
      Wrap a Stream into a Seq.
    • seq

      static Seq<Integer> seq(IntStream stream)
      Wrap a IntStream into a Seq.
    • seq

      static Seq<Long> seq(LongStream stream)
      Wrap a LongStream into a Seq.
    • seq

      static Seq<Double> seq(DoubleStream stream)
      Wrap a DoubleStream into a Seq.
    • seq

      static <T> Seq<T> seq(Iterable<? extends T> iterable)
      Wrap an Iterable into a Seq.
    • seq

      static <T> Seq<T> seq(Iterator<? extends T> iterator)
      Wrap an Iterator into a Seq.
    • seq

      static <T> Seq<T> seq(Enumeration<T> enumeration)
      Wrap an Enumeration into a Seq.
    • seq

      static <T> Seq<T> seq(Spliterator<? extends T> spliterator)
      Wrap a Spliterator into a Seq.
    • seq

      static <K, V> Seq<Tuple2<K,V>> seq(Map<? extends K,? extends V> map)
      Wrap a Map into a Seq.
    • seq

      static <T> Seq<T> seq(Optional<? extends T> optional)
      Wrap an Optional into a Seq.
    • seq

      @SafeVarargs static <T> Seq<T> seq(Optional<? extends T>... optionals)
      Wrap multiple Optional's into a Seq.
    • seq

      static <T> Seq<T> seq(Supplier<? extends T> s)
      Get a stream from a single element from a Supplier.
    • seq

      static Seq<Byte> seq(InputStream is)
      Wrap an InputStream into a Seq.

      Client code must close the InputStream. All IOException's thrown be the InputStream are wrapped by UncheckedIOException's.

    • seq

      static Seq<Character> seq(Reader reader)
      Wrap a Reader into a Seq.

      Client code must close the Reader. All IOException's thrown be the Reader are wrapped by UncheckedIOException's.

    • cycle

      static <T> Seq<T> cycle(Stream<? extends T> stream)
      Repeat a stream infinitely.

      
       // (1, 2, 3, 1, 2, 3, ...)
       Seq.of(1, 2, 3).cycle();
       
    • cycle

      static <T> Seq<T> cycle(Iterable<? extends T> iterable)
      Repeat a stream infinitely.

      
       // (1, 2, 3, 1, 2, 3, ...)
       Seq.of(1, 2, 3).cycle();
       
    • cycle

      static <T> Seq<T> cycle(Seq<? extends T> stream)
      Repeat a stream infinitely.

      
       // (1, 2, 3, 1, 2, 3, ...)
       Seq.of(1, 2, 3).cycle();
       
    • cycle

      static <T> Seq<T> cycle(Stream<? extends T> stream, long times)
      Repeat a stream a certain amount of times.

      
       // ()
       Seq.of(1, 2, 3).cycle(0);
       
       // (1, 2, 3)
       Seq.of(1, 2, 3).cycle(1);
       
       // (1, 2, 3, 1, 2, 3, 1, 2, 3)
       Seq.of(1, 2, 3).cycle(3);
       
      See Also:
    • cycle

      static <T> Seq<T> cycle(Iterable<? extends T> iterable, long times)
      Repeat a stream a certain amount of times.

      
       // ()
       Seq.of(1, 2, 3).cycle(0);
       
       // (1, 2, 3)
       Seq.of(1, 2, 3).cycle(1);
       
       // (1, 2, 3, 1, 2, 3, 1, 2, 3)
       Seq.of(1, 2, 3).cycle(3);
       
      See Also:
    • cycle

      static <T> Seq<T> cycle(Seq<? extends T> stream, long times)
      Repeat a stream a certain amount of times.

      
       // ()
       Seq.of(1, 2, 3).cycle(0);
       
       // (1, 2, 3)
       Seq.of(1, 2, 3).cycle(1);
       
       // (1, 2, 3, 1, 2, 3, 1, 2, 3)
       Seq.of(1, 2, 3).cycle(3);
       
      See Also:
    • unzip

      static <K, V> Tuple2<Seq<K>,Seq<V>> unzip(Map<? extends K,? extends V> map)
      Unzip a Map into its keys and values.

      
       // tuple((1, 2, 3), (a, b, c))
       Seq.unzip(Map.of(1, "a", 2, "b", 3, "c"));
       
    • unzip

      static <T1, T2> Tuple2<Seq<T1>,Seq<T2>> unzip(Stream<Tuple2<T1,T2>> stream)
      Unzip one Stream into two.

      
       // tuple((1, 2, 3), (a, b, c))
       Seq.unzip(Seq.of(tuple(1, "a"), tuple(2, "b"), tuple(3, "c")));
       
    • unzip

      static <T1, T2, U1, U2> Tuple2<Seq<U1>,Seq<U2>> unzip(Stream<Tuple2<T1,T2>> stream, Function<T1,U1> leftUnzipper, Function<T2,U2> rightUnzipper)
      Unzip one Stream into two.

      
       // tuple((1, 2, 3), (a, b, c))
       Seq.unzip(Seq.of(tuple(1, "a"), tuple(2, "b"), tuple(3, "c")));
       
    • unzip

      static <T1, T2, U1, U2> Tuple2<Seq<U1>,Seq<U2>> unzip(Stream<Tuple2<T1,T2>> stream, Function<Tuple2<T1,T2>,Tuple2<U1,U2>> unzipper)
      Unzip one Stream into two.

      
       // tuple((1, 2, 3), (a, b, c))
       Seq.unzip(Seq.of(tuple(1, "a"), tuple(2, "b"), tuple(3, "c")));
       
    • unzip

      static <T1, T2, U1, U2> Tuple2<Seq<U1>,Seq<U2>> unzip(Stream<Tuple2<T1,T2>> stream, BiFunction<T1,T2,Tuple2<U1,U2>> unzipper)
      Unzip one Stream into two.

      
       // tuple((1, 2, 3), (a, b, c))
       Seq.unzip(Seq.of(tuple(1, "a"), tuple(2, "b"), tuple(3, "c")));
       
    • unzip

      static <T1, T2> Tuple2<Seq<T1>,Seq<T2>> unzip(Iterable<Tuple2<T1,T2>> iterable)
      Unzip one Stream into two.

      
       // tuple((1, 2, 3), (a, b, c))
       Seq.unzip(Seq.of(tuple(1, "a"), tuple(2, "b"), tuple(3, "c")));
       
    • unzip

      static <T1, T2, U1, U2> Tuple2<Seq<U1>,Seq<U2>> unzip(Iterable<Tuple2<T1,T2>> iterable, Function<T1,U1> leftUnzipper, Function<T2,U2> rightUnzipper)
      Unzip one Stream into two.

      
       // tuple((1, 2, 3), (a, b, c))
       Seq.unzip(Seq.of(tuple(1, "a"), tuple(2, "b"), tuple(3, "c")));
       
    • unzip

      static <T1, T2, U1, U2> Tuple2<Seq<U1>,Seq<U2>> unzip(Iterable<Tuple2<T1,T2>> iterable, Function<Tuple2<T1,T2>,Tuple2<U1,U2>> unzipper)
      Unzip one Stream into two.

      
       // tuple((1, 2, 3), (a, b, c))
       Seq.unzip(Seq.of(tuple(1, "a"), tuple(2, "b"), tuple(3, "c")));
       
    • unzip

      static <T1, T2, U1, U2> Tuple2<Seq<U1>,Seq<U2>> unzip(Iterable<Tuple2<T1,T2>> iterable, BiFunction<T1,T2,Tuple2<U1,U2>> unzipper)
      Unzip one Stream into two.

      
       // tuple((1, 2, 3), (a, b, c))
       Seq.unzip(Seq.of(tuple(1, "a"), tuple(2, "b"), tuple(3, "c")));
       
    • unzip

      static <T1, T2> Tuple2<Seq<T1>,Seq<T2>> unzip(Seq<Tuple2<T1,T2>> stream)
      Unzip one Stream into two.

      
       // tuple((1, 2, 3), (a, b, c))
       Seq.unzip(Seq.of(tuple(1, "a"), tuple(2, "b"), tuple(3, "c")));
       
    • unzip

      static <T1, T2, U1, U2> Tuple2<Seq<U1>,Seq<U2>> unzip(Seq<Tuple2<T1,T2>> stream, Function<T1,U1> leftUnzipper, Function<T2,U2> rightUnzipper)
      Unzip one Stream into two.

      
       // tuple((1, 2, 3), (a, b, c))
       Seq.unzip(Seq.of(tuple(1, "a"), tuple(2, "b"), tuple(3, "c")));
       
    • unzip

      static <T1, T2, U1, U2> Tuple2<Seq<U1>,Seq<U2>> unzip(Seq<Tuple2<T1,T2>> stream, Function<Tuple2<T1,T2>,Tuple2<U1,U2>> unzipper)
      Unzip one Stream into two.

      
       // tuple((1, 2, 3), (a, b, c))
       Seq.unzip(Seq.of(tuple(1, "a"), tuple(2, "b"), tuple(3, "c")));
       
    • unzip

      static <T1, T2, U1, U2> Tuple2<Seq<U1>,Seq<U2>> unzip(Seq<Tuple2<T1,T2>> stream, BiFunction<T1,T2,Tuple2<U1,U2>> unzipper)
      Unzip one Stream into two.

      
       // tuple((1, 2, 3), (a, b, c))
       Seq.unzip(Seq.of(tuple(1, "a"), tuple(2, "b"), tuple(3, "c")));
       
    • zip

      static <T1, T2> Seq<Tuple2<T1,T2>> zip(Stream<? extends T1> s1, Stream<? extends T2> s2)
      Zip 2 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3)
      Zip 3 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4> Seq<Tuple4<T1,T2,T3,T4>> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4)
      Zip 4 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5> Seq<Tuple5<T1,T2,T3,T4,T5>> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5)
      Zip 5 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6> Seq<Tuple6<T1,T2,T3,T4,T5,T6>> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6)
      Zip 6 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7> Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7)
      Zip 7 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8> Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8)
      Zip 8 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9> Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9)
      Zip 9 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10)
      Zip 10 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11)
      Zip 11 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12)
      Zip 12 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13)
      Zip 13 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14)
      Zip 14 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15)
      Zip 15 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15, Stream<? extends T16> s16)
      Zip 16 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2> Seq<Tuple2<T1,T2>> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2)
      Zip 2 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3)
      Zip 3 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4> Seq<Tuple4<T1,T2,T3,T4>> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4)
      Zip 4 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5> Seq<Tuple5<T1,T2,T3,T4,T5>> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5)
      Zip 5 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6> Seq<Tuple6<T1,T2,T3,T4,T5,T6>> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6)
      Zip 6 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7> Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7)
      Zip 7 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8> Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8)
      Zip 8 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9> Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9)
      Zip 9 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10)
      Zip 10 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11)
      Zip 11 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12)
      Zip 12 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13)
      Zip 13 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14)
      Zip 14 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14, Iterable<? extends T15> i15)
      Zip 15 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14, Iterable<? extends T15> i15, Iterable<? extends T16> i16)
      Zip 16 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2> Seq<Tuple2<T1,T2>> zip(Seq<? extends T1> s1, Seq<? extends T2> s2)
      Zip 2 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3)
      Zip 3 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4> Seq<Tuple4<T1,T2,T3,T4>> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4)
      Zip 4 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5> Seq<Tuple5<T1,T2,T3,T4,T5>> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5)
      Zip 5 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6> Seq<Tuple6<T1,T2,T3,T4,T5,T6>> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6)
      Zip 6 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7> Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7)
      Zip 7 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8> Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8)
      Zip 8 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9> Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9)
      Zip 9 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10)
      Zip 10 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11)
      Zip 11 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12)
      Zip 12 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13)
      Zip 13 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14)
      Zip 14 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15)
      Zip 15 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15, Seq<? extends T16> s16)
      Zip 16 streams into one.

      
       // (tuple(1, "a"), tuple(2, "b"), tuple(3, "c"))
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"))
       
    • zip

      static <T1, T2, R> Seq<R> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, BiFunction<? super T1,? super T2,? extends R> zipper)
      Zip 2 streams into one using a BiFunction to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, R> Seq<R> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Function3<? super T1,? super T2,? super T3,? extends R> zipper)
      Zip 3 streams into one using a Function3 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, R> Seq<R> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Function4<? super T1,? super T2,? super T3,? super T4,? extends R> zipper)
      Zip 4 streams into one using a Function4 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, R> Seq<R> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Function5<? super T1,? super T2,? super T3,? super T4,? super T5,? extends R> zipper)
      Zip 5 streams into one using a Function5 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, R> Seq<R> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> zipper)
      Zip 6 streams into one using a Function6 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, R> Seq<R> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Function7<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? extends R> zipper)
      Zip 7 streams into one using a Function7 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, R> Seq<R> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> zipper)
      Zip 8 streams into one using a Function8 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Seq<R> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Function9<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? extends R> zipper)
      Zip 9 streams into one using a Function9 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R> Seq<R> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Function10<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? extends R> zipper)
      Zip 10 streams into one using a Function10 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R> Seq<R> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Function11<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? extends R> zipper)
      Zip 11 streams into one using a Function11 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R> Seq<R> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Function12<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? extends R> zipper)
      Zip 12 streams into one using a Function12 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R> Seq<R> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Function13<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? extends R> zipper)
      Zip 13 streams into one using a Function13 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R> Seq<R> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Function14<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? extends R> zipper)
      Zip 14 streams into one using a Function14 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R> Seq<R> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15, Function15<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? extends R> zipper)
      Zip 15 streams into one using a Function15 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R> Seq<R> zip(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15, Stream<? extends T16> s16, Function16<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? super T16,? extends R> zipper)
      Zip 16 streams into one using a Function16 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, R> Seq<R> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, BiFunction<? super T1,? super T2,? extends R> zipper)
      Zip 2 streams into one using a BiFunction to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, R> Seq<R> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Function3<? super T1,? super T2,? super T3,? extends R> zipper)
      Zip 3 streams into one using a Function3 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, R> Seq<R> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Function4<? super T1,? super T2,? super T3,? super T4,? extends R> zipper)
      Zip 4 streams into one using a Function4 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, R> Seq<R> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Function5<? super T1,? super T2,? super T3,? super T4,? super T5,? extends R> zipper)
      Zip 5 streams into one using a Function5 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, R> Seq<R> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> zipper)
      Zip 6 streams into one using a Function6 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, R> Seq<R> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Function7<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? extends R> zipper)
      Zip 7 streams into one using a Function7 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, R> Seq<R> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> zipper)
      Zip 8 streams into one using a Function8 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Seq<R> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Function9<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? extends R> zipper)
      Zip 9 streams into one using a Function9 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R> Seq<R> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Function10<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? extends R> zipper)
      Zip 10 streams into one using a Function10 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R> Seq<R> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Function11<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? extends R> zipper)
      Zip 11 streams into one using a Function11 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R> Seq<R> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Function12<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? extends R> zipper)
      Zip 12 streams into one using a Function12 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R> Seq<R> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Function13<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? extends R> zipper)
      Zip 13 streams into one using a Function13 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R> Seq<R> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14, Function14<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? extends R> zipper)
      Zip 14 streams into one using a Function14 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R> Seq<R> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14, Iterable<? extends T15> i15, Function15<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? extends R> zipper)
      Zip 15 streams into one using a Function15 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R> Seq<R> zip(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14, Iterable<? extends T15> i15, Iterable<? extends T16> i16, Function16<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? super T16,? extends R> zipper)
      Zip 16 streams into one using a Function16 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, R> Seq<R> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, BiFunction<? super T1,? super T2,? extends R> zipper)
      Zip 2 streams into one using a BiFunction to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, R> Seq<R> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Function3<? super T1,? super T2,? super T3,? extends R> zipper)
      Zip 3 streams into one using a Function3 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, R> Seq<R> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Function4<? super T1,? super T2,? super T3,? super T4,? extends R> zipper)
      Zip 4 streams into one using a Function4 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, R> Seq<R> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Function5<? super T1,? super T2,? super T3,? super T4,? super T5,? extends R> zipper)
      Zip 5 streams into one using a Function5 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, R> Seq<R> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Function6<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? extends R> zipper)
      Zip 6 streams into one using a Function6 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, R> Seq<R> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Function7<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? extends R> zipper)
      Zip 7 streams into one using a Function7 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, R> Seq<R> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Function8<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? extends R> zipper)
      Zip 8 streams into one using a Function8 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Seq<R> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Function9<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? extends R> zipper)
      Zip 9 streams into one using a Function9 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, R> Seq<R> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Function10<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? extends R> zipper)
      Zip 10 streams into one using a Function10 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, R> Seq<R> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Function11<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? extends R> zipper)
      Zip 11 streams into one using a Function11 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, R> Seq<R> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Function12<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? extends R> zipper)
      Zip 12 streams into one using a Function12 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, R> Seq<R> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Function13<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? extends R> zipper)
      Zip 13 streams into one using a Function13 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, R> Seq<R> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Function14<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? extends R> zipper)
      Zip 14 streams into one using a Function14 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, R> Seq<R> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15, Function15<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? extends R> zipper)
      Zip 15 streams into one using a Function15 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zip

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, R> Seq<R> zip(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15, Seq<? extends T16> s16, Function16<? super T1,? super T2,? super T3,? super T4,? super T5,? super T6,? super T7,? super T8,? super T9,? super T10,? super T11,? super T12,? super T13,? super T14,? super T15,? super T16,? extends R> zipper)
      Zip 16 streams into one using a Function16 to produce resulting values.

      
       // ("1:a", "2:b", "3:c")
       Seq.of(1, 2, 3).zip(Seq.of("a", "b", "c"), (i, s) -> i + ":" + s)
       
    • zipWithIndex

      static <T> Seq<Tuple2<T,Long>> zipWithIndex(Stream<? extends T> stream)
      Zip a Stream with a corresponding Stream of indexes.

      
       // (tuple("a", 0), tuple("b", 1), tuple("c", 2))
       Seq.of("a", "b", "c").zipWithIndex()
       
    • zipWithIndex

      static <T> Seq<Tuple2<T,Long>> zipWithIndex(Iterable<? extends T> iterable)
      Zip a Stream with a corresponding Stream of indexes.

      
       // (tuple("a", 0), tuple("b", 1), tuple("c", 2))
       Seq.of("a", "b", "c").zipWithIndex()
       
    • zipWithIndex

      static <T> Seq<Tuple2<T,Long>> zipWithIndex(Seq<? extends T> stream)
      Zip a Stream with a corresponding Stream of indexes.

      
       // (tuple("a", 0), tuple("b", 1), tuple("c", 2))
       Seq.of("a", "b", "c").zipWithIndex()
       
    • zipWithIndex

      static <T, R> Seq<R> zipWithIndex(Stream<? extends T> stream, BiFunction<? super T,? super Long,? extends R> zipper)
      Zip a stream with indexes into one using a BiFunction to produce resulting values.

      
       // ("0:a", "1:b", "2:c")
       Seq.of("a", "b", "c").zipWithIndex((s, i) -> i + ":" + s))
       
    • zipWithIndex

      static <T, R> Seq<R> zipWithIndex(Iterable<? extends T> iterable, BiFunction<? super T,? super Long,? extends R> zipper)
      Zip a stream with indexes into one using a BiFunction to produce resulting values.

      
       // ("0:a", "1:b", "2:c")
       Seq.of("a", "b", "c").zipWithIndex((s, i) -> i + ":" + s))
       
    • zipWithIndex

      static <T, R> Seq<R> zipWithIndex(Seq<? extends T> stream, BiFunction<? super T,? super Long,? extends R> zipper)
      Zip a stream with indexes into one using a BiFunction to produce resulting values.

      
       // ("0:a", "1:b", "2:c")
       Seq.of("a", "b", "c").zipWithIndex((s, i) -> i + ":" + s))
       
    • foldLeft

      static <T, U> U foldLeft(Stream<? extends T> stream, U seed, BiFunction<? super U,? super T,? extends U> function)
      Fold a stream to the left.

      
       // "abc"
       Seq.of("a", "b", "c").foldLeft("", (u, t) -> u + t)
       
    • foldLeft

      static <T, U> U foldLeft(Iterable<? extends T> iterable, U seed, BiFunction<? super U,? super T,? extends U> function)
      Fold a stream to the left.

      
       // "abc"
       Seq.of("a", "b", "c").foldLeft("", (u, t) -> u + t)
       
    • foldLeft

      static <T, U> U foldLeft(Seq<? extends T> stream, U seed, BiFunction<? super U,? super T,? extends U> function)
      Fold a stream to the left.

      
       // "abc"
       Seq.of("a", "b", "c").foldLeft("", (u, t) -> u + t)
       
    • foldRight

      static <T, U> U foldRight(Stream<? extends T> stream, U seed, BiFunction<? super T,? super U,? extends U> function)
      Fold a stream to the right.

      
       // "cba"
       Seq.of("a", "b", "c").foldRight("", (t, u) -> u + t)
       
    • foldRight

      static <T, U> U foldRight(Iterable<? extends T> iterable, U seed, BiFunction<? super T,? super U,? extends U> function)
      Fold a stream to the right.

      
       // "cba"
       Seq.of("a", "b", "c").foldRight("", (t, u) -> u + t)
       
    • foldRight

      static <T, U> U foldRight(Seq<? extends T> stream, U seed, BiFunction<? super T,? super U,? extends U> function)
      Fold a stream to the right.

      
       // "cba"
       Seq.of("a", "b", "c").foldRight("", (t, u) -> u + t)
       
    • scanLeft

      static <T, U> Seq<U> scanLeft(Stream<? extends T> stream, U seed, BiFunction<? super U,? super T,? extends U> function)
      Scan a stream to the left.

      
       // ("", "a", "ab", "abc")
       Seq.of("a", "b", "c").scanLeft("", (u, t) -> u + t)
       
    • scanLeft

      static <T, U> Seq<U> scanLeft(Iterable<? extends T> iterable, U seed, BiFunction<? super U,? super T,? extends U> function)
      Scan a stream to the left.

      
       // ("", "a", "ab", "abc")
       Seq.of("a", "b", "c").scanLeft("", (u, t) -> u + t)
       
    • scanLeft

      static <T, U> Seq<U> scanLeft(Seq<? extends T> stream, U seed, BiFunction<? super U,? super T,? extends U> function)
      Scan a stream to the left.

      
       // ("", "a", "ab", "abc")
       Seq.of("a", "b", "c").scanLeft("", (u, t) -> u + t)
       
    • scanRight

      static <T, U> Seq<U> scanRight(Stream<? extends T> stream, U seed, BiFunction<? super T,? super U,? extends U> function)
      Scan a stream to the right.

      
       // ("", "c", "cb", "cba")
       Seq.of("a", "b", "c").scanRight("", (t, u) -> u + t)
       
    • scanRight

      static <T, U> Seq<U> scanRight(Iterable<? extends T> iterable, U seed, BiFunction<? super T,? super U,? extends U> function)
      Scan a stream to the right.

      
       // ("", "c", "cb", "cba")
       Seq.of("a", "b", "c").scanRight("", (t, u) -> u + t)
       
    • scanRight

      static <T, U> Seq<U> scanRight(Seq<? extends T> stream, U seed, BiFunction<? super T,? super U,? extends U> function)
      Scan a stream to the right.

      
       // ("", "c", "cb", "cba")
       Seq.of("a", "b", "c").scanRight("", (t, u) -> u + t)
       
    • unfold

      static <T, U> Seq<T> unfold(U seed, Function<? super U,Optional<Tuple2<T,U>>> unfolder)
      Unfold a function into a stream.

      
       // (1, 2, 3, 4, 5)
       Seq.unfold(1, i -> i <= 6 ? Optional.of(tuple(i, i + 1)) : Optional.empty())
       
    • reverse

      static <T> Seq<T> reverse(Stream<? extends T> stream)
      Reverse a stream.

      
       // (3, 2, 1)
       Seq.of(1, 2, 3).reverse()
       
    • reverse

      static <T> Seq<T> reverse(Iterable<? extends T> iterable)
      Reverse a stream.

      
       // (3, 2, 1)
       Seq.of(1, 2, 3).reverse()
       
    • reverse

      static <T> Seq<T> reverse(Seq<? extends T> stream)
      Reverse a stream.

      
       // (3, 2, 1)
       Seq.of(1, 2, 3).reverse()
       
    • shuffle

      static <T> Seq<T> shuffle(Stream<? extends T> stream)
      Shuffle a stream

      
       // e.g. (2, 3, 1)
       Seq.of(1, 2, 3).shuffle()
       
    • shuffle

      static <T> Seq<T> shuffle(Iterable<? extends T> iterable)
      Shuffle a stream

      
       // e.g. (2, 3, 1)
       Seq.of(1, 2, 3).shuffle()
       
    • shuffle

      static <T> Seq<T> shuffle(Seq<? extends T> stream)
      Shuffle a stream

      
       // e.g. (2, 3, 1)
       Seq.of(1, 2, 3).shuffle()
       
    • shuffle

      static <T> Seq<T> shuffle(Stream<? extends T> stream, Random random)
      Shuffle a stream using specified source of randomness

      
       // e.g. (2, 3, 1)
       Seq.of(1, 2, 3).shuffle(new Random())
       
    • shuffle

      static <T> Seq<T> shuffle(Iterable<? extends T> iterable, Random random)
      Shuffle a stream using specified source of randomness

      
       // e.g. (2, 3, 1)
       Seq.of(1, 2, 3).shuffle(new Random())
       
    • shuffle

      static <T> Seq<T> shuffle(Seq<? extends T> stream, Random random)
      Shuffle a stream using specified source of randomness

      
       // e.g. (2, 3, 1)
       Seq.of(1, 2, 3).shuffle(new Random())
       
    • crossApply

      static <T1, T2> Seq<Tuple2<T1,T2>> crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2)
      Cross apply 2 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>> crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3)
      Cross apply 3 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4> Seq<Tuple4<T1,T2,T3,T4>> crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4)
      Cross apply 4 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5> Seq<Tuple5<T1,T2,T3,T4,T5>> crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5)
      Cross apply 5 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6> Seq<Tuple6<T1,T2,T3,T4,T5,T6>> crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6)
      Cross apply 6 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7> Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>> crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7)
      Cross apply 7 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8> Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>> crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8)
      Cross apply 8 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9> Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9)
      Cross apply 9 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10)
      Cross apply 10 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11)
      Cross apply 11 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12)
      Cross apply 12 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12, Function<? super T12,? extends Stream<? extends T13>> function13)
      Cross apply 13 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12, Function<? super T12,? extends Stream<? extends T13>> function13, Function<? super T13,? extends Stream<? extends T14>> function14)
      Cross apply 14 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12, Function<? super T12,? extends Stream<? extends T13>> function13, Function<? super T13,? extends Stream<? extends T14>> function14, Function<? super T14,? extends Stream<? extends T15>> function15)
      Cross apply 15 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> crossApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12, Function<? super T12,? extends Stream<? extends T13>> function13, Function<? super T13,? extends Stream<? extends T14>> function14, Function<? super T14,? extends Stream<? extends T15>> function15, Function<? super T15,? extends Stream<? extends T16>> function16)
      Cross apply 16 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2> Seq<Tuple2<T1,T2>> crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2)
      Cross apply 2 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>> crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3)
      Cross apply 3 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4> Seq<Tuple4<T1,T2,T3,T4>> crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4)
      Cross apply 4 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5> Seq<Tuple5<T1,T2,T3,T4,T5>> crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5)
      Cross apply 5 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6> Seq<Tuple6<T1,T2,T3,T4,T5,T6>> crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6)
      Cross apply 6 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7> Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>> crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7)
      Cross apply 7 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8> Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>> crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8)
      Cross apply 8 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9> Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9)
      Cross apply 9 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10)
      Cross apply 10 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11)
      Cross apply 11 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12)
      Cross apply 12 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12, Function<? super T12,? extends Iterable<? extends T13>> function13)
      Cross apply 13 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12, Function<? super T12,? extends Iterable<? extends T13>> function13, Function<? super T13,? extends Iterable<? extends T14>> function14)
      Cross apply 14 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12, Function<? super T12,? extends Iterable<? extends T13>> function13, Function<? super T13,? extends Iterable<? extends T14>> function14, Function<? super T14,? extends Iterable<? extends T15>> function15)
      Cross apply 15 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> crossApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12, Function<? super T12,? extends Iterable<? extends T13>> function13, Function<? super T13,? extends Iterable<? extends T14>> function14, Function<? super T14,? extends Iterable<? extends T15>> function15, Function<? super T15,? extends Iterable<? extends T16>> function16)
      Cross apply 16 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2> Seq<Tuple2<T1,T2>> crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2)
      Cross apply 2 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>> crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3)
      Cross apply 3 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4> Seq<Tuple4<T1,T2,T3,T4>> crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4)
      Cross apply 4 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5> Seq<Tuple5<T1,T2,T3,T4,T5>> crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5)
      Cross apply 5 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6> Seq<Tuple6<T1,T2,T3,T4,T5,T6>> crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6)
      Cross apply 6 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7> Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>> crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7)
      Cross apply 7 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8> Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>> crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8)
      Cross apply 8 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9> Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9)
      Cross apply 9 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10)
      Cross apply 10 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11)
      Cross apply 11 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12)
      Cross apply 12 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12, Function<? super T12,? extends Seq<? extends T13>> function13)
      Cross apply 13 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12, Function<? super T12,? extends Seq<? extends T13>> function13, Function<? super T13,? extends Seq<? extends T14>> function14)
      Cross apply 14 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12, Function<? super T12,? extends Seq<? extends T13>> function13, Function<? super T13,? extends Seq<? extends T14>> function14, Function<? super T14,? extends Seq<? extends T15>> function15)
      Cross apply 15 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • crossApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> crossApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12, Function<? super T12,? extends Seq<? extends T13>> function13, Function<? super T13,? extends Seq<? extends T14>> function14, Function<? super T14,? extends Seq<? extends T15>> function15, Function<? super T15,? extends Seq<? extends T16>> function16)
      Cross apply 16 functions to a stream.

      
       // (tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(1, 2).crossApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2> Seq<Tuple2<T1,T2>> outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2)
      Outer apply 2 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>> outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3)
      Outer apply 3 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4> Seq<Tuple4<T1,T2,T3,T4>> outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4)
      Outer apply 4 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5> Seq<Tuple5<T1,T2,T3,T4,T5>> outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5)
      Outer apply 5 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6> Seq<Tuple6<T1,T2,T3,T4,T5,T6>> outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6)
      Outer apply 6 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7> Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>> outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7)
      Outer apply 7 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8> Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>> outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8)
      Outer apply 8 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9> Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9)
      Outer apply 9 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10)
      Outer apply 10 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11)
      Outer apply 11 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12)
      Outer apply 12 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12, Function<? super T12,? extends Stream<? extends T13>> function13)
      Outer apply 13 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12, Function<? super T12,? extends Stream<? extends T13>> function13, Function<? super T13,? extends Stream<? extends T14>> function14)
      Outer apply 14 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12, Function<? super T12,? extends Stream<? extends T13>> function13, Function<? super T13,? extends Stream<? extends T14>> function14, Function<? super T14,? extends Stream<? extends T15>> function15)
      Outer apply 15 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> outerApply(Stream<? extends T1> stream, Function<? super T1,? extends Stream<? extends T2>> function2, Function<? super T2,? extends Stream<? extends T3>> function3, Function<? super T3,? extends Stream<? extends T4>> function4, Function<? super T4,? extends Stream<? extends T5>> function5, Function<? super T5,? extends Stream<? extends T6>> function6, Function<? super T6,? extends Stream<? extends T7>> function7, Function<? super T7,? extends Stream<? extends T8>> function8, Function<? super T8,? extends Stream<? extends T9>> function9, Function<? super T9,? extends Stream<? extends T10>> function10, Function<? super T10,? extends Stream<? extends T11>> function11, Function<? super T11,? extends Stream<? extends T12>> function12, Function<? super T12,? extends Stream<? extends T13>> function13, Function<? super T13,? extends Stream<? extends T14>> function14, Function<? super T14,? extends Stream<? extends T15>> function15, Function<? super T15,? extends Stream<? extends T16>> function16)
      Outer apply 16 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2> Seq<Tuple2<T1,T2>> outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2)
      Outer apply 2 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>> outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3)
      Outer apply 3 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4> Seq<Tuple4<T1,T2,T3,T4>> outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4)
      Outer apply 4 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5> Seq<Tuple5<T1,T2,T3,T4,T5>> outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5)
      Outer apply 5 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6> Seq<Tuple6<T1,T2,T3,T4,T5,T6>> outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6)
      Outer apply 6 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7> Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>> outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7)
      Outer apply 7 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8> Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>> outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8)
      Outer apply 8 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9> Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9)
      Outer apply 9 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10)
      Outer apply 10 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11)
      Outer apply 11 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12)
      Outer apply 12 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12, Function<? super T12,? extends Iterable<? extends T13>> function13)
      Outer apply 13 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12, Function<? super T12,? extends Iterable<? extends T13>> function13, Function<? super T13,? extends Iterable<? extends T14>> function14)
      Outer apply 14 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12, Function<? super T12,? extends Iterable<? extends T13>> function13, Function<? super T13,? extends Iterable<? extends T14>> function14, Function<? super T14,? extends Iterable<? extends T15>> function15)
      Outer apply 15 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> outerApply(Iterable<? extends T1> iterable, Function<? super T1,? extends Iterable<? extends T2>> function2, Function<? super T2,? extends Iterable<? extends T3>> function3, Function<? super T3,? extends Iterable<? extends T4>> function4, Function<? super T4,? extends Iterable<? extends T5>> function5, Function<? super T5,? extends Iterable<? extends T6>> function6, Function<? super T6,? extends Iterable<? extends T7>> function7, Function<? super T7,? extends Iterable<? extends T8>> function8, Function<? super T8,? extends Iterable<? extends T9>> function9, Function<? super T9,? extends Iterable<? extends T10>> function10, Function<? super T10,? extends Iterable<? extends T11>> function11, Function<? super T11,? extends Iterable<? extends T12>> function12, Function<? super T12,? extends Iterable<? extends T13>> function13, Function<? super T13,? extends Iterable<? extends T14>> function14, Function<? super T14,? extends Iterable<? extends T15>> function15, Function<? super T15,? extends Iterable<? extends T16>> function16)
      Outer apply 16 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2> Seq<Tuple2<T1,T2>> outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2)
      Outer apply 2 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>> outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3)
      Outer apply 3 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4> Seq<Tuple4<T1,T2,T3,T4>> outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4)
      Outer apply 4 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5> Seq<Tuple5<T1,T2,T3,T4,T5>> outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5)
      Outer apply 5 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6> Seq<Tuple6<T1,T2,T3,T4,T5,T6>> outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6)
      Outer apply 6 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7> Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>> outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7)
      Outer apply 7 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8> Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>> outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8)
      Outer apply 8 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9> Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9)
      Outer apply 9 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10)
      Outer apply 10 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11)
      Outer apply 11 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12)
      Outer apply 12 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12, Function<? super T12,? extends Seq<? extends T13>> function13)
      Outer apply 13 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12, Function<? super T12,? extends Seq<? extends T13>> function13, Function<? super T13,? extends Seq<? extends T14>> function14)
      Outer apply 14 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12, Function<? super T12,? extends Seq<? extends T13>> function13, Function<? super T13,? extends Seq<? extends T14>> function14, Function<? super T14,? extends Seq<? extends T15>> function15)
      Outer apply 15 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • outerApply

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> outerApply(Seq<? extends T1> seq, Function<? super T1,? extends Seq<? extends T2>> function2, Function<? super T2,? extends Seq<? extends T3>> function3, Function<? super T3,? extends Seq<? extends T4>> function4, Function<? super T4,? extends Seq<? extends T5>> function5, Function<? super T5,? extends Seq<? extends T6>> function6, Function<? super T6,? extends Seq<? extends T7>> function7, Function<? super T7,? extends Seq<? extends T8>> function8, Function<? super T8,? extends Seq<? extends T9>> function9, Function<? super T9,? extends Seq<? extends T10>> function10, Function<? super T10,? extends Seq<? extends T11>> function11, Function<? super T11,? extends Seq<? extends T12>> function12, Function<? super T12,? extends Seq<? extends T13>> function13, Function<? super T13,? extends Seq<? extends T14>> function14, Function<? super T14,? extends Seq<? extends T15>> function15, Function<? super T15,? extends Seq<? extends T16>> function16)
      Outer apply 16 functions to a stream.

      
       // (tuple(0, null), tuple(1, 0), tuple(2, 0), tuple(2, 1))
       Seq.of(0, 1, 2).outerApply(t -> Seq.range(0, t))
       
    • crossJoin

      static <T1, T2> Seq<Tuple2<T1,T2>> crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2)
      Cross join 2 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>> crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3)
      Cross join 3 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4> Seq<Tuple4<T1,T2,T3,T4>> crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4)
      Cross join 4 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5> Seq<Tuple5<T1,T2,T3,T4,T5>> crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5)
      Cross join 5 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6> Seq<Tuple6<T1,T2,T3,T4,T5,T6>> crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6)
      Cross join 6 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7> Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>> crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7)
      Cross join 7 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8> Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>> crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8)
      Cross join 8 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9> Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9)
      Cross join 9 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10)
      Cross join 10 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11)
      Cross join 11 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12)
      Cross join 12 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13)
      Cross join 13 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14)
      Cross join 14 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15)
      Cross join 15 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> crossJoin(Stream<? extends T1> s1, Stream<? extends T2> s2, Stream<? extends T3> s3, Stream<? extends T4> s4, Stream<? extends T5> s5, Stream<? extends T6> s6, Stream<? extends T7> s7, Stream<? extends T8> s8, Stream<? extends T9> s9, Stream<? extends T10> s10, Stream<? extends T11> s11, Stream<? extends T12> s12, Stream<? extends T13> s13, Stream<? extends T14> s14, Stream<? extends T15> s15, Stream<? extends T16> s16)
      Cross join 16 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2> Seq<Tuple2<T1,T2>> crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2)
      Cross join 2 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>> crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3)
      Cross join 3 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4> Seq<Tuple4<T1,T2,T3,T4>> crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4)
      Cross join 4 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5> Seq<Tuple5<T1,T2,T3,T4,T5>> crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5)
      Cross join 5 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6> Seq<Tuple6<T1,T2,T3,T4,T5,T6>> crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6)
      Cross join 6 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7> Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>> crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7)
      Cross join 7 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8> Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>> crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8)
      Cross join 8 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9> Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9)
      Cross join 9 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10)
      Cross join 10 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11)
      Cross join 11 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12)
      Cross join 12 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13)
      Cross join 13 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14)
      Cross join 14 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14, Iterable<? extends T15> i15)
      Cross join 15 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> crossJoin(Iterable<? extends T1> i1, Iterable<? extends T2> i2, Iterable<? extends T3> i3, Iterable<? extends T4> i4, Iterable<? extends T5> i5, Iterable<? extends T6> i6, Iterable<? extends T7> i7, Iterable<? extends T8> i8, Iterable<? extends T9> i9, Iterable<? extends T10> i10, Iterable<? extends T11> i11, Iterable<? extends T12> i12, Iterable<? extends T13> i13, Iterable<? extends T14> i14, Iterable<? extends T15> i15, Iterable<? extends T16> i16)
      Cross join 16 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2> Seq<Tuple2<T1,T2>> crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2)
      Cross join 2 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3> Seq<Tuple3<T1,T2,T3>> crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3)
      Cross join 3 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4> Seq<Tuple4<T1,T2,T3,T4>> crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4)
      Cross join 4 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5> Seq<Tuple5<T1,T2,T3,T4,T5>> crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5)
      Cross join 5 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6> Seq<Tuple6<T1,T2,T3,T4,T5,T6>> crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6)
      Cross join 6 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7> Seq<Tuple7<T1,T2,T3,T4,T5,T6,T7>> crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7)
      Cross join 7 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8> Seq<Tuple8<T1,T2,T3,T4,T5,T6,T7,T8>> crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8)
      Cross join 8 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9> Seq<Tuple9<T1,T2,T3,T4,T5,T6,T7,T8,T9>> crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9)
      Cross join 9 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Seq<Tuple10<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10>> crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10)
      Cross join 10 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Seq<Tuple11<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11>> crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11)
      Cross join 11 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> Seq<Tuple12<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12>> crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12)
      Cross join 12 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> Seq<Tuple13<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13>> crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13)
      Cross join 13 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> Seq<Tuple14<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14>> crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14)
      Cross join 14 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> Seq<Tuple15<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15>> crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15)
      Cross join 15 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • crossJoin

      static <T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> Seq<Tuple16<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16>> crossJoin(Seq<? extends T1> s1, Seq<? extends T2> s2, Seq<? extends T3> s3, Seq<? extends T4> s4, Seq<? extends T5> s5, Seq<? extends T6> s6, Seq<? extends T7> s7, Seq<? extends T8> s8, Seq<? extends T9> s9, Seq<? extends T10> s10, Seq<? extends T11> s11, Seq<? extends T12> s12, Seq<? extends T13> s13, Seq<? extends T14> s14, Seq<? extends T15> s15, Seq<? extends T16> s16)
      Cross join 16 streams into one.

      
       // (tuple(1, "a"), tuple(1, "b"), tuple(2, "a"), tuple(2, "b"))
       Seq.of(1, 2).crossJoin(Seq.of("a", "b"))
       
    • concat

      @SafeVarargs static <T> Seq<T> concat(Stream<? extends T>... streams)
      Concatenate a number of streams.

      
       // (1, 2, 3, 4, 5, 6)
       Seq.of(1, 2, 3).concat(Seq.of(4, 5, 6))
       
    • concat

      @SafeVarargs static <T> Seq<T> concat(Iterable<? extends T>... iterables)
      Concatenate a number of streams.

      
       // (1, 2, 3, 4, 5, 6)
       Seq.of(1, 2, 3).concat(Seq.of(4, 5, 6))
       
    • concat

      @SafeVarargs static <T> Seq<T> concat(Seq<? extends T>... streams)
      Concatenate a number of streams.

      
       // (1, 2, 3, 4, 5, 6)
       Seq.of(1, 2, 3).concat(Seq.of(4, 5, 6))
       
    • concat

      @SafeVarargs static <T> Seq<T> concat(Optional<? extends T>... optionals)
      Concatenate a number of optionals.

      
       // (1, 2)
       Seq.concat(Optional.of(1), Optional.empty(), Optional.of(2))
       
    • duplicate

      static <T> Tuple2<Seq<T>,Seq<T>> duplicate(Stream<? extends T> stream)
      Duplicate a Streams into two equivalent Streams.

      
       // tuple((1, 2, 3), (1, 2, 3))
       Seq.of(1, 2, 3).duplicate()
       
    • toString

      static String toString(Stream<?> stream)
      Consume a stream and concatenate all elements.
    • toString

      static String toString(Stream<?> stream, CharSequence delimiter)
      Consume a stream and concatenate all elements using a separator.
    • toCollection

      static <T, C extends Collection<T>> C toCollection(Stream<? extends T> stream, Supplier<? extends C> collectionFactory)
      Collect a Stream into a List.
    • toList

      static <T> List<T> toList(Stream<? extends T> stream)
      Collect a Stream into a List.
    • toSet

      static <T> Set<T> toSet(Stream<? extends T> stream)
      Collect a Stream into a Set.
    • toMap

      static <T, K, V> Map<K,V> toMap(Stream<Tuple2<K,V>> stream)
      Collect a Stream of Tuple2 into a Map.
    • toMap

      static <T, K, V> Map<K,V> toMap(Stream<? extends T> stream, Function<? super T,? extends K> keyMapper, Function<? super T,? extends V> valueMapper)
      Collect a Stream into a Map.
    • slice

      static <T> Seq<T> slice(Stream<? extends T> stream, long from, long to)
      Returns a limited interval from a given Stream.

      
       // (4, 5)
       Seq.of(1, 2, 3, 4, 5, 6).slice(3, 5)
       
    • skip

      static <T> Seq<T> skip(Stream<? extends T> stream, long elements)
      Returns a stream with n elements skipped.

      
       // (4, 5, 6)
       Seq.of(1, 2, 3, 4, 5, 6).skip(3)
       
    • skipWhile

      static <T> Seq<T> skipWhile(Stream<? extends T> stream, Predicate<? super T> predicate)
      Returns a stream with all elements skipped for which a predicate evaluates to true.

      
       // (3, 4, 5)
       Seq.of(1, 2, 3, 4, 5).skipWhile(i -> i < 3)
       
    • skipWhileClosed

      static <T> Seq<T> skipWhileClosed(Stream<? extends T> stream, Predicate<? super T> predicate)
      Returns a stream with all elements skipped for which a predicate evaluates to true plus the first element for which it evaluates to false.

      
       // (4, 5)
       Seq.of(1, 2, 3, 4, 5).skipWhileClosed(i -> i < 3)
       
    • skipUntil

      static <T> Seq<T> skipUntil(Stream<? extends T> stream, Predicate<? super T> predicate)
      Returns a stream with all elements skipped for which a predicate evaluates to false.

      
       // (3, 4, 5)
       Seq.of(1, 2, 3, 4, 5).skipUntil(i -> i == 3)
       
    • skipUntilClosed

      static <T> Seq<T> skipUntilClosed(Stream<? extends T> stream, Predicate<? super T> predicate)
      Returns a stream with all elements skipped for which a predicate evaluates to false plus the first element for which it evaluates to true.

      
       // (4, 5)
       Seq.of(1, 2, 3, 4, 5).skipUntilClosed(i -> i == 3)
       
    • limit

      static <T> Seq<T> limit(Stream<? extends T> stream, long elements)
      Returns a stream limited to n elements.

      
       // (1, 2, 3)
       Seq.of(1, 2, 3, 4, 5, 6).limit(3)
       
    • take

      default Seq<T> take(long maxSize)
      Alias for limit
      See Also:
    • drop

      default Seq<T> drop(long n)
      Alias for skip
      See Also:
    • limitWhile

      static <T> Seq<T> limitWhile(Stream<? extends T> stream, Predicate<? super T> predicate)
      Returns a stream limited to all elements for which a predicate evaluates to true.

      
       // (1, 2)
       Seq.of(1, 2, 3, 4, 5).limitWhile(i -> i < 3)
       
    • limitWhileClosed

      static <T> Seq<T> limitWhileClosed(Stream<? extends T> stream, Predicate<? super T> predicate)
      Returns a stream limited to all elements for which a predicate evaluates to true plus the first element for which it evaluates to false.

      
       // (1, 2, 3)
       Seq.of(1, 2, 3, 4, 5).limitWhileClosed(i -> i < 3)
       
    • limitUntil

      static <T> Seq<T> limitUntil(Stream<? extends T> stream, Predicate<? super T> predicate)
      Returns a stream limited to all elements for which a predicate evaluates to false.

      
       // (1, 2)
       Seq.of(1, 2, 3, 4, 5).limitUntil(i -> i == 3)
       
    • limitUntilClosed

      static <T> Seq<T> limitUntilClosed(Stream<? extends T> stream, Predicate<? super T> predicate)
      Returns a stream limited to all elements for which a predicate evaluates to false plus the first element for which it evaluates to true.

      
       // (1, 2, 3)
       Seq.of(1, 2, 3, 4, 5).limitUntilClosed(i -> i == 3)
       
    • intersperse

      static <T> Seq<T> intersperse(Stream<? extends T> stream, T value)
      Returns a stream with a given value interspersed between any two values of this stream.

      
       // (1, 0, 2, 0, 3, 0, 4)
       Seq.of(1, 2, 3, 4).intersperse(0)
       
    • grouped

      static <K, T> Seq<Tuple2<K,Seq<T>>> grouped(Stream<? extends T> stream, Function<? super T,? extends K> classifier)
      Classify this stream's elements according to a given classifier function

      
       // Seq(tuple(1, Seq(1, 3, 5)), tuple(0, Seq(2, 4, 6)))
       Seq.of(1, 2, 3, 4, 5, 6).grouped(i -> i % 2 )
       // Seq(tuple(true, Seq(1, 3, 5)), tuple(false, Seq(2, 4, 6)))
       Seq.of(1, 2, 3, 4, 5, 6).grouped(i -> i % 2 != 0)
       
      This is a non-terminal analog of groupBy(Stream, Function))
      See Also:
    • grouped

      static <K, T> Seq<Tuple2<K,Seq<T>>> grouped(Iterable<? extends T> iterable, Function<? super T,? extends K> classifier)
      Classify this stream's elements according to a given classifier function

      
       // Seq(tuple(1, Seq(1, 3, 5)), tuple(0, Seq(2, 4, 6)))
       Seq.of(1, 2, 3, 4, 5, 6).grouped(i -> i % 2 )
       // Seq(tuple(true, Seq(1, 3, 5)), tuple(false, Seq(2, 4, 6)))
       Seq.of(1, 2, 3, 4, 5, 6).grouped(i -> i % 2 != 0)
       
      This is a non-terminal analog of groupBy(Stream, Function))
      See Also:
    • grouped

      static <K, T> Seq<Tuple2<K,Seq<T>>> grouped(Seq<? extends T> seq, Function<? super T,? extends K> classifier)
      Classify this stream's elements according to a given classifier function

      
       // Seq(tuple(1, Seq(1, 3, 5)), tuple(0, Seq(2, 4, 6)))
       Seq.of(1, 2, 3, 4, 5, 6).grouped(i -> i % 2 )
       // Seq(tuple(true, Seq(1, 3, 5)), tuple(false, Seq(2, 4, 6)))
       Seq.of(1, 2, 3, 4, 5, 6).grouped(i -> i % 2 != 0)
       
      This is a non-terminal analog of groupBy(Stream, Function))
      See Also:
    • grouped

      static <K, T, A, D> Seq<Tuple2<K,D>> grouped(Stream<? extends T> stream, Function<? super T,? extends K> classifier, Collector<? super T,A,D> downstream)
      Classify this stream's elements according to a given classifier function and collect each class's elements using a collector.

      
       // Seq(tuple(1, 9), tuple(0, 12))
       Seq.of(1, 2, 3, 4, 5, 6).grouped(i -> i % 2, Collectors.summingInt(i -> i))
       // Seq(tuple(true, 9), tuple(false, 12))
       Seq.of(1, 2, 3, 4, 5, 6).grouped(i -> i % 2 != 0, Collectors.summingInt(i -> i))
       
      This is a non-terminal analog of groupBy(Function, Collector))
      See Also:
    • grouped

      static <K, T, A, D> Seq<Tuple2<K,D>> grouped(Iterable<? extends T> iterable, Function<? super T,? extends K> classifier, Collector<? super T,A,D> downstream)
      Classify this stream's elements according to a given classifier function and collect each class's elements using a collector.

      
       // Seq(tuple(1, 9), tuple(0, 12))
       Seq.of(1, 2, 3, 4, 5, 6).grouped(i -> i % 2, Collectors.summingInt(i -> i))
       // Seq(tuple(true, 9), tuple(false, 12))
       Seq.of(1, 2, 3, 4, 5, 6).grouped(i -> i % 2 != 0, Collectors.summingInt(i -> i))
       
      This is a non-terminal analog of groupBy(Function, Collector))
      See Also:
    • grouped

      static <K, T, A, D> Seq<Tuple2<K,D>> grouped(Seq<? extends T> seq, Function<? super T,? extends K> classifier, Collector<? super T,A,D> downstream)
      Classify this stream's elements according to a given classifier function and collect each class's elements using a collector.

      
       // Seq(tuple(1, 9), tuple(0, 12))
       Seq.of(1, 2, 3, 4, 5, 6).grouped(i -> i % 2, Collectors.summingInt(i -> i))
       // Seq(tuple(true, 9), tuple(false, 12))
       Seq.of(1, 2, 3, 4, 5, 6).grouped(i -> i % 2 != 0, Collectors.summingInt(i -> i))
       
      This is a non-terminal analog of groupBy(Function, Collector))
      See Also:
    • partition

      static <T> Tuple2<Seq<T>,Seq<T>> partition(Stream<? extends T> stream, Predicate<? super T> predicate)
      Partition a stream into two given a predicate.

      
       // tuple((1, 3, 5), (2, 4, 6))
       Seq.of(1, 2, 3, 4, 5, 6).partition(i -> i % 2 != 0)
       
    • splitAt

      static <T> Tuple2<Seq<T>,Seq<T>> splitAt(Stream<? extends T> stream, long position)
      Split a stream at a given position.

      
       // tuple((1, 2, 3), (4, 5, 6))
       Seq.of(1, 2, 3, 4, 5, 6).splitAt(3)
       
    • splitAtHead

      static <T> Tuple2<Optional<T>,Seq<T>> splitAtHead(Stream<T> stream)
      Split a stream at the head.

      
       // tuple(1, (2, 3, 4, 5, 6))
       Seq.of(1, 2, 3, 4, 5, 6).splitHead(3)
       
    • ofType

      static <T, U> Seq<U> ofType(Stream<? extends T> stream, Class<? extends U> type)
      Keep only those elements in a stream that are of a given type.

      
       // (1, 2, 3)
       Seq.of(1, "a", 2, "b", 3).ofType(Integer.class)
       
    • cast

      static <T, U> Seq<U> cast(Stream<? extends T> stream, Class<? extends U> type)
      Cast all elements in a stream to a given type, possibly throwing a ClassCastException.

      
       // ClassCastException
       Seq.of(1, "a", 2, "b", 3).cast(Integer.class)
       
      See Also:
    • groupBy

      static <T, K> Map<K,List<T>> groupBy(Stream<? extends T> stream, Function<? super T,? extends K> classifier)
      Shortcut for calling Stream.collect(Collector) with a Collectors.groupingBy(Function) collector.
    • groupBy

      static <T, K, A, D> Map<K,D> groupBy(Stream<? extends T> stream, Function<? super T,? extends K> classifier, Collector<? super T,A,D> downstream)
    • groupBy

      static <T, K, D, A, M extends Map<K, D>> M groupBy(Stream<? extends T> stream, Function<? super T,? extends K> classifier, Supplier<M> mapFactory, Collector<? super T,A,D> downstream)
    • join

      @Deprecated static String join(Stream<?> stream)
      Deprecated.
      - Use Object.toString() instead. This method will be removed in the future as it causes confusion with innerJoin(Seq, BiPredicate).
      Shortcut for calling Stream.collect(Collector) with a Collectors.joining() collector.
    • join

      @Deprecated static String join(Stream<?> stream, CharSequence delimiter)
      Deprecated.
      - Use Object.toString() instead. This method will be removed in the future as it causes confusion with innerJoin(Seq, BiPredicate).
      Shortcut for calling Stream.collect(Collector) with a Collectors.joining(CharSequence) collector.
    • join

      @Deprecated static String join(Stream<?> stream, CharSequence delimiter, CharSequence prefix, CharSequence suffix)
      Deprecated.
      - Use Object.toString() instead. This method will be removed in the future as it causes confusion with innerJoin(Seq, BiPredicate).
    • filter

      Seq<T> filter(Predicate<? super T> predicate)
      Specified by:
      filter in interface Stream<T>
    • map

      <R> Seq<R> map(Function<? super T,? extends R> mapper)
      Specified by:
      map in interface Stream<T>
    • mapToInt

      IntStream mapToInt(ToIntFunction<? super T> mapper)
      Specified by:
      mapToInt in interface Stream<T>
    • mapToLong

      LongStream mapToLong(ToLongFunction<? super T> mapper)
      Specified by:
      mapToLong in interface Stream<T>
    • mapToDouble

      DoubleStream mapToDouble(ToDoubleFunction<? super T> mapper)
      Specified by:
      mapToDouble in interface Stream<T>
    • flatMap

      <R> Seq<R> flatMap(Function<? super T,? extends Stream<? extends R>> mapper)
      Specified by:
      flatMap in interface Stream<T>
    • flatMapToInt

      IntStream flatMapToInt(Function<? super T,? extends IntStream> mapper)
      Specified by:
      flatMapToInt in interface Stream<T>
    • flatMapToLong

      LongStream flatMapToLong(Function<? super T,? extends LongStream> mapper)
      Specified by:
      flatMapToLong in interface Stream<T>
    • flatMapToDouble

      DoubleStream flatMapToDouble(Function<? super T,? extends DoubleStream> mapper)
      Specified by:
      flatMapToDouble in interface Stream<T>
    • distinct

      Seq<T> distinct()
      Specified by:
      distinct in interface Stream<T>
    • sorted

      Seq<T> sorted()
      Specified by:
      sorted in interface Stream<T>
    • sorted

      Seq<T> sorted(Comparator<? super T> comparator)
      Specified by:
      sorted in interface Stream<T>
    • peek

      Seq<T> peek(Consumer<? super T> action)
      Specified by:
      peek in interface Stream<T>
    • limit

      Seq<T> limit(long maxSize)
      Specified by:
      limit in interface Stream<T>
    • skip

      Seq<T> skip(long n)
      Specified by:
      skip in interface Stream<T>
    • onClose

      Seq<T> onClose(Runnable closeHandler)
      Specified by:
      onClose in interface BaseStream<T,Stream<T>>
    • close

      void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface BaseStream<T,Stream<T>>
    • count

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

      default Seq<T> sequential()
      Returns this stream. All Seq streams are sequential, hence the name.
      Specified by:
      sequential in interface BaseStream<T,Stream<T>>
      Returns:
      this stream unmodified
    • parallel

      default Seq<T> parallel()
      Seq streams are always sequential and, as such, doesn't support parallelization.
      Specified by:
      parallel in interface BaseStream<T,Stream<T>>
      Returns:
      this sequential stream unmodified
      See Also:
    • unordered

      default Seq<T> unordered()
      Returns this stream. All Seq streams are ordered so this method has no effect.
      Specified by:
      unordered in interface BaseStream<T,Stream<T>>
      Returns:
      this stream unmodified
    • spliterator

      default Spliterator<T> spliterator()
      Specified by:
      spliterator in interface BaseStream<T,Stream<T>>
      Specified by:
      spliterator in interface Iterable<T>
    • forEach

      default void forEach(Consumer<? super T> action)
      Specified by:
      forEach in interface Iterable<T>
      Specified by:
      forEach in interface Stream<T>
    • format

      String format()
      Generate a nicely formatted representation of this stream.

      Clients should not rely on the concrete formatting of this method, which is intended for debugging convenience only.

    • printOut

      default void printOut()
      Print contents of this stream to System.out.
    • printErr

      default void printErr()
      Print contents of this stream to System.err.
    • print

      default void print(PrintWriter writer)
      Print contents of this stream to the argument writer.
    • print

      default void print(PrintStream stream)
      Print contents of this stream to the argument stream.