skip方法用于跳过流中前n个元素并返回剩余元素组成的新流,若元素不足n个则返回空流。1. 跳过前3个元素输出d、e;2. 跳过超过总数的5个元素结果为空流,count为0;3. 结合limit实现分页,如跳过2条取第2页数据得[C, D]。注意事项:skip为无状态中间操作,有序流行为确定,无序流不保证跳过顺序;需处理至少n个元素影响性能;不可逆且应避免先skip后sorted以防逻辑错误。合理使用可简化数据处理。
在Java中,Stream.skip(n) 方法用于跳过流中的前n个元素,返回一个新流,该流由原流中从第n+1个元素开始的剩余元素组成。如果流中的元素少于n个,则返回空流。这个方法常用于分页、数据截取等场景。
public Stream
1. 跳过前3个元素
List
list.stream()
.skip(3)
.forEach(System.out::println);
输出结果:
d e
2. 跳过超过元素总数的个数
List
long count = numbers.stream().skip(5).count();
System.out.println(count); // 输出 0
因为只有2个元素,跳过5个后为空流。
3. 结合limit实现分页
比如每页2条,获取第2页数据:
List
List
.skip(2 * 1) // 第2页,跳过前2条
.limit(2)
.collect(Collectors.toList());
System.out.println(page); // [C, D]
基本上就这些。skip是一个简洁高效的跳过工具,合理使用能简化集合处理逻辑。