之路 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 个元素。
Stream skip(n) 方法用于跳过给定 Stream 中的前“n”个元素。
skip()
方法按遇到顺序( encounter order)跳过指定的'n'元素,返回由原始流的其余元素组成的新流。
日期:2020-09-17 00:10:08 来源:oir作者:oir