Packages

object Stream extends SeqFactory[Stream]

Annotations
@deprecated @SerialVersionUID()
Deprecated

(Since version 2.13.0) Use LazyList (which is fully lazy) instead of Stream (which has a lazy tail only)

Source
Stream.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Stream
  2. SeqFactory
  3. IterableFactory
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. final class Cons[A] extends Stream[A]
    Annotations
    @SerialVersionUID()
  2. final class Deferrer[A] extends AnyVal
  3. class SerializationProxy[A] extends Serializable

    This serialization proxy is used for Streams which start with a sequence of evaluated cons cells.

    This serialization proxy is used for Streams which start with a sequence of evaluated cons cells. The forced sequence is serialized in a compact, sequential format, followed by the unevaluated tail, which uses standard Java serialization to store the complete structure of unevaluated thunks. This allows the serialization of long evaluated streams without exhausting the stack through recursive serialization of cons cells.

    Annotations
    @SerialVersionUID()

Value Members

  1. def apply[A](elems: A*): Stream[A]

    Creates a collection with the specified elements.

    Creates a collection with the specified elements.

    A

    the type of the collection's elements

    elems

    the elements of the created collection

    returns

    a new collection with elements elems

    Definition Classes
    IterableFactory
  2. def concat[A](xss: collection.Iterable[A]*): Stream[A]

    Concatenates all argument collections into a single collection.

    Concatenates all argument collections into a single collection.

    xss

    the collections that are to be concatenated.

    returns

    the concatenation of all the collections.

    Definition Classes
    IterableFactory
  3. def continually[A](elem: => A): Stream[A]

    Create an infinite Stream containing the given element expression (which is computed for each occurrence).

    Create an infinite Stream containing the given element expression (which is computed for each occurrence).

    elem

    the element composing the resulting Stream

    returns

    the Stream containing an infinite number of elem

  4. def empty[A]: Stream[A]

    An empty collection

    An empty collection

    A

    the type of the collection's elements

    Definition Classes
    StreamIterableFactory
  5. def fill[A](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(elem: => A): Stream[Stream[Stream[Stream[Stream[A]]]]]

    Produces a five-dimensional collection containing the results of some element computation a number of times.

    Produces a five-dimensional collection containing the results of some element computation a number of times.

    n1

    the number of elements in the 1st dimension

    n2

    the number of elements in the 2nd dimension

    n3

    the number of elements in the 3rd dimension

    n4

    the number of elements in the 4th dimension

    n5

    the number of elements in the 5th dimension

    elem

    the element computation

    returns

    A collection that contains the results of n1 x n2 x n3 x n4 x n5 evaluations of elem.

    Definition Classes
    IterableFactory
  6. def fill[A](n1: Int, n2: Int, n3: Int, n4: Int)(elem: => A): Stream[Stream[Stream[Stream[A]]]]

    Produces a four-dimensional collection containing the results of some element computation a number of times.

    Produces a four-dimensional collection containing the results of some element computation a number of times.

    n1

    the number of elements in the 1st dimension

    n2

    the number of elements in the 2nd dimension

    n3

    the number of elements in the 3rd dimension

    n4

    the number of elements in the 4th dimension

    elem

    the element computation

    returns

    A collection that contains the results of n1 x n2 x n3 x n4 evaluations of elem.

    Definition Classes
    IterableFactory
  7. def fill[A](n1: Int, n2: Int, n3: Int)(elem: => A): Stream[Stream[Stream[A]]]

    Produces a three-dimensional collection containing the results of some element computation a number of times.

    Produces a three-dimensional collection containing the results of some element computation a number of times.

    n1

    the number of elements in the 1st dimension

    n2

    the number of elements in the 2nd dimension

    n3

    the number of elements in the 3rd dimension

    elem

    the element computation

    returns

    A collection that contains the results of n1 x n2 x n3 evaluations of elem.

    Definition Classes
    IterableFactory
  8. def fill[A](n1: Int, n2: Int)(elem: => A): Stream[Stream[A]]

    Produces a two-dimensional collection containing the results of some element computation a number of times.

    Produces a two-dimensional collection containing the results of some element computation a number of times.

    n1

    the number of elements in the 1st dimension

    n2

    the number of elements in the 2nd dimension

    elem

    the element computation

    returns

    A collection that contains the results of n1 x n2 evaluations of elem.

    Definition Classes
    IterableFactory
  9. def fill[A](n: Int)(elem: => A): Stream[A]

    Produces a collection containing the results of some element computation a number of times.

    Produces a collection containing the results of some element computation a number of times.

    n

    the number of elements contained in the collection.

    elem

    the element computation

    returns

    A collection that contains the results of n evaluations of elem.

    Definition Classes
    IterableFactory
  10. def from(start: Int): Stream[Int]

    Create an infinite Stream starting at start and incrementing by 1.

    Create an infinite Stream starting at start and incrementing by 1.

    start

    the start value of the Stream

    returns

    the Stream starting at value start.

  11. def from(start: Int, step: Int): Stream[Int]

    Create an infinite Stream starting at start and incrementing by step step.

    Create an infinite Stream starting at start and incrementing by step step.

    start

    the start value of the Stream

    step

    the increment value of the Stream

    returns

    the Stream starting at value start.

  12. def from[A](coll: IterableOnce[A]): Stream[A]

    Creates a target collection from an existing source collection

    Creates a target collection from an existing source collection

    A

    the type of the collection’s elements

    returns

    a new collection with the elements of source

    Definition Classes
    StreamIterableFactory
  13. def fromIterator[A](it: Iterator[A]): Stream[A]

    A

    type of elements

    it

    Source iterator

    returns

    A Stream[A] that gets its elements from the given Iterator.

  14. implicit def iterableFactory[A]: Factory[A, Stream[A]]
    Definition Classes
    IterableFactory
  15. def iterate[A](start: A)(f: (A) => A): Stream[A]

    An infinite Stream that repeatedly applies a given function to a start value.

    An infinite Stream that repeatedly applies a given function to a start value.

    start

    the start value of the Stream

    f

    the function that's repeatedly applied

    returns

    the Stream returning the infinite sequence of values start, f(start), f(f(start)), ...

  16. def iterate[A](start: A, len: Int)(f: (A) => A): Stream[A]

    Produces a collection containing repeated applications of a function to a start value.

    Produces a collection containing repeated applications of a function to a start value.

    start

    the start value of the collection

    len

    the number of elements contained in the collection

    f

    the function that's repeatedly applied

    returns

    a collection with len values in the sequence start, f(start), f(f(start)), ...

    Definition Classes
    IterableFactory
  17. def newBuilder[A]: Builder[A, Stream[A]]

    A

    the type of the collection’s elements

    returns

    A builder for Iterable objects.

    Definition Classes
    StreamIterableFactory
  18. def range[A](start: A, end: A, step: A)(implicit arg0: Integral[A]): Stream[A]

    Produces a collection containing equally spaced values in some integer interval.

    Produces a collection containing equally spaced values in some integer interval.

    start

    the start value of the collection

    end

    the end value of the collection (the first value NOT contained)

    step

    the difference between successive elements of the collection (must be positive or negative)

    returns

    a collection with values start, start + step, ... up to, but excluding end

    Definition Classes
    IterableFactory
  19. def range[A](start: A, end: A)(implicit arg0: Integral[A]): Stream[A]

    Produces a collection containing a sequence of increasing of integers.

    Produces a collection containing a sequence of increasing of integers.

    start

    the first element of the collection

    end

    the end value of the collection (the first value NOT contained)

    returns

    a collection with values start, start + 1, ..., end - 1

    Definition Classes
    IterableFactory
  20. def tabulate[A](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(f: (Int, Int, Int, Int, Int) => A): Stream[Stream[Stream[Stream[Stream[A]]]]]

    Produces a five-dimensional collection containing values of a given function over ranges of integer values starting from 0.

    Produces a five-dimensional collection containing values of a given function over ranges of integer values starting from 0.

    n1

    the number of elements in the 1st dimension

    n2

    the number of elements in the 2nd dimension

    n3

    the number of elements in the 3rd dimension

    n4

    the number of elements in the 4th dimension

    n5

    the number of elements in the 5th dimension

    f

    The function computing element values

    returns

    A collection consisting of elements f(i1, i2, i3, i4, i5) for 0 <= i1 < n1, 0 <= i2 < n2, 0 <= i3 < n3, 0 <= i4 < n4, and 0 <= i5 < n5.

    Definition Classes
    IterableFactory
  21. def tabulate[A](n1: Int, n2: Int, n3: Int, n4: Int)(f: (Int, Int, Int, Int) => A): Stream[Stream[Stream[Stream[A]]]]

    Produces a four-dimensional collection containing values of a given function over ranges of integer values starting from 0.

    Produces a four-dimensional collection containing values of a given function over ranges of integer values starting from 0.

    n1

    the number of elements in the 1st dimension

    n2

    the number of elements in the 2nd dimension

    n3

    the number of elements in the 3rd dimension

    n4

    the number of elements in the 4th dimension

    f

    The function computing element values

    returns

    A collection consisting of elements f(i1, i2, i3, i4) for 0 <= i1 < n1, 0 <= i2 < n2, 0 <= i3 < n3, and 0 <= i4 < n4.

    Definition Classes
    IterableFactory
  22. def tabulate[A](n1: Int, n2: Int, n3: Int)(f: (Int, Int, Int) => A): Stream[Stream[Stream[A]]]

    Produces a three-dimensional collection containing values of a given function over ranges of integer values starting from 0.

    Produces a three-dimensional collection containing values of a given function over ranges of integer values starting from 0.

    n1

    the number of elements in the 1st dimension

    n2

    the number of elements in the 2nd dimension

    n3

    the number of elements in the 3rd dimension

    f

    The function computing element values

    returns

    A collection consisting of elements f(i1, i2, i3) for 0 <= i1 < n1, 0 <= i2 < n2, and 0 <= i3 < n3.

    Definition Classes
    IterableFactory
  23. def tabulate[A](n1: Int, n2: Int)(f: (Int, Int) => A): Stream[Stream[A]]

    Produces a two-dimensional collection containing values of a given function over ranges of integer values starting from 0.

    Produces a two-dimensional collection containing values of a given function over ranges of integer values starting from 0.

    n1

    the number of elements in the 1st dimension

    n2

    the number of elements in the 2nd dimension

    f

    The function computing element values

    returns

    A collection consisting of elements f(i1, i2) for 0 <= i1 < n1 and 0 <= i2 < n2.

    Definition Classes
    IterableFactory
  24. def tabulate[A](n: Int)(f: (Int) => A): Stream[A]

    Produces a collection containing values of a given function over a range of integer values starting from 0.

    Produces a collection containing values of a given function over a range of integer values starting from 0.

    n

    The number of elements in the collection

    f

    The function computing element values

    returns

    A collection consisting of elements f(0), ..., f(n -1)

    Definition Classes
    IterableFactory
  25. implicit def toDeferrer[A](l: => Stream[A]): Deferrer[A]
  26. final def unapplySeq[A](x: Stream[A]): UnapplySeqWrapper[A]
    Definition Classes
    SeqFactory
  27. def unfold[A, S](init: S)(f: (S) => Option[(A, S)]): Stream[A]

    Produces a collection that uses a function f to produce elements of type A and update an internal state of type S.

    Produces a collection that uses a function f to produce elements of type A and update an internal state of type S.

    A

    Type of the elements

    S

    Type of the internal state

    init

    State initial value

    f

    Computes the next element (or returns None to signal the end of the collection)

    returns

    a collection that produces elements using f until f returns None

    Definition Classes
    IterableFactory
  28. object #::
  29. object Empty extends Stream[Nothing]
  30. object cons

    An alternative way of building and matching Streams using Stream.cons(hd, tl).