之路 on it Road.com

Stream skip() 方法示例

下面的示例中,使用 skip()方法从无限的偶数流中跳过前 5 个偶数,然后将接下来的 10 个偶数收集到一个新的流中。

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
	public static void main(String[] args) 
	{
		Stream<Integer> evenNumInfiniteStream = Stream.iterate(0, n -> n + 2);

		List<Integer> newList = evenNumInfiniteStream
				.skip(5)
				.limit(10)
				.collect(Collectors.toList());
		System.out.println(newList);
	}
}

Stream skip() 方法

方法语法

Stream<T> skip(long n)

n是要跳过的前导元素的数量。
它的返回值是一个新的 Stream,由从原始流中选取的元素组成。

如果 n 为负数,该方法可能会抛出 IllegalArgumentException。

说明

  • Stream skip() 方法是有状态的中间操作。

在处理新元素时,有状态的操作,例如distinct 和sorted,可能会合并以前看到的元素的状态。

  • 在丢弃流的前 n 个元素后,返回由流的剩余元素组成的流。
  • 如果流包含少于 n 个元素,则将返回一个空流。
  • 通常skip()是一种廉价的操作,它在有序并行管道上可能非常昂贵,尤其是对于较大的 n 值。
  • 使用无序流源(例如generate(Supplier))或者使用BaseStream.unordered()删除排序约束可能会显着提高并行管道中skip()的速度。
  • skip()跳过遇到顺序中的前 n 个元素。
Java Stream skip() 方法

Stream skip(n) 方法用于跳过给定 Stream 中的前“n”个元素。

skip()方法按遇到顺序( encounter order)跳过指定的'n'元素,返回由原始流的其余元素组成的新流。

日期:2020-09-17 00:10:08 来源:oir作者:oir