獲得一條流

示例: 獲取包含 30 個元素的 Stream,包含集合的第 21 到第 50 個(包含)元素。

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);

筆記:

  • 如果 n 為負或 maxSize 為負,則丟擲 IllegalArgumentException
  • skip(long)limit(long) 都是中間操作
  • 如果一個流包含少於 n 的元素,那麼 skip(n) 將返回一個空流
  • skip(long)limit(long) 都是連續流管道上的廉價操作,但在有序並行管道上可能非常昂貴