[Reactor] 操作符实践之skip、take

栏目: Java · 发布时间: 6年前

内容简介:skip相关的操作符主要包括skip,skipWhile,skipUntil,skipLast与skip相对应,take相关的操作符主要包括take,takeWhile,takeUntil,takeLast

skip相关方法

skip相关的操作符主要包括skip,skipWhile,skipUntil,skipLast

skip

最简单,顾名思义,跳过前n个元素,如果n超过元素个数,则以元素个数为准

[Reactor] 操作符实践之skip、take
@Test
 public void textSkip() {
     Flux.range(1, 10).skip(3).subscribe(System.out::println);
 }
 
output:
4
5
6
7
8
9
10

skipLast

与skip相反,跳过后n个元素

[Reactor] 操作符实践之skip、take
@Test
    public void textSkip() {
        Flux.range(1, 10).skipLast(3).subscribe(System.out::println);
    }
1
2
3
4
5
6
7

skipWhile

当前n元素都符合predicate的条件,则跳过,直到出现第一个不符合条件的元素

[Reactor] 操作符实践之skip、take
@Test
    public void textSkip() {
        Flux.just(1, 10, 2, 9, 8).skipWhile(n -> n < 7).subscribe(System.out::println);
    }
output
10
2
9
8

skipUntil

当前n元素都不符合predicat的条件,则跳过,直到出现第一个符合条件的元素

[Reactor] 操作符实践之skip、take
@Test
    public void textSkip() {
        Flux.just(10, 1, 2, 9, 8).skipUntil(n -> n < 7).subscribe(System.out::println);
    }
output
1
2
9
8

take相关方法

与skip相对应,take相关的操作符主要包括take,takeWhile,takeUntil,takeLast

take

仅获取前n个元素,如果n超过元素个数,则以元素个数为准

[Reactor] 操作符实践之skip、take
@Test
    public void textTake() {
        Flux.range(1, 10).take(3).subscribe(System.out::println);
    }
output
1
2
3

takeLast

仅获取后n个元素

[Reactor] 操作符实践之skip、take
@Test
    public void textTake() {
        Flux.range(1, 10).takeLast(3).subscribe(System.out::println);
    }
output
8
9
10

takeWhile

仅获取前n元素都符合predicate条件的元素,直到出现第一个不符合条件的元素

[Reactor] 操作符实践之skip、take
@Test
    public void textTake() {
        Flux.range(1, 10).takeWhile(n -> n < 7).subscribe(System.out::println);
    }
output
1
2
3
4
5
6

takeUntil

仅获取前n元素都不符合predicate条件的元素,直到出现第一个符合条件的元素(注意,这个符合要求的元素同样会被获取到)

[Reactor] 操作符实践之skip、take
@Test
    public void textTake() {
        Flux.just(10, 9, 1, 8).takeUntil(n -> n < 7).subscribe(System.out::println);
    }
output
10
9
1

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

重来2

重来2

[美] 贾森·弗里德、[美] 戴维·海涅迈尔·汉森 / 苏西 / 中信出版社 / 2014-4-8 / 39.00元

“不再需要办公室”,这不仅仅是未来才有的事——它已经发生了。现在,轮到你迈开脚步,跟上时代的步伐了。 上百万的员工和成千上万的企业已经发现了远程工作的乐趣和好处。然而,远程工作方式还没有成为常见的选择。事实上,远程工作的技术手段都已齐备。还没有升级换代的,是人们的思想。 这本书的目的就是帮你把想法升级换代。作者会向你展示远程工作的诸多好处:可以找到最优秀的人才,从摧残灵魂的通勤路上解脱......一起来看看 《重来2》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具