Get a Slice of a Stream
suggest changeExample: Get a Stream
of 30 elements, containing 21st to 50th (inclusive) element of a collection.
final long n = 20L; // the number of elements to skip
final long maxSize = 30L; // the number of elements the stream should be limited to
final Stream<T> slice = collection.stream().skip(n).limit(maxSize);
Notes:
IllegalArgumentException
is thrown ifn
is negative ormaxSize
is negative- both
skip(long)
andlimit(long)
are intermediate operations - if a stream contains fewer than
n
elements thenskip(n)
returns an empty stream - both
skip(long)
andlimit(long)
are cheap operations on sequential stream pipelines, but can be quite expensive on ordered parallel pipelines
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents