zoukankan      html  css  js  c++  java
  • FlatMapTest

    package com.test;
    
    import java.time.Duration;
    import java.util.Arrays;
    import lombok.extern.slf4j.Slf4j;
    import org.junit.Test;
    import reactor.core.publisher.Flux;
    
    /**
     * @author: ffzs
     * @Date: 2020/8/7 下午8:18
     */
    
    @Slf4j
    public class FlatMapTest {
    //->a->f->b->f->c->z->d->s
      @Test
      public void flatMap () throws InterruptedException {
        Flux.just("abcd", "ffzs")
            .flatMap(i -> Flux.fromArray(i.split("")).delayElements(Duration.ofMillis(10)))
            .subscribe(i -> System.out.print("->"+i));
        Thread.sleep(100);
      }
    //->a->b->c->d->f->f->z->s
      @Test
      public void flatMapSequential () throws InterruptedException {
        Flux.just("abcd", "ffzs")
            .flatMapSequential(i -> Flux.fromArray(i.split("")).delayElements(Duration.ofMillis(10)))
            .subscribe(i -> System.out.print("->"+i));
        Thread.sleep(1000);
      }
    
     /* @Test
      public void testConcurrencyAndPrefetch() {
        int concurrency = 3;
        int prefetch = 6;
        Flux.range(1, 1)
            //.log()
            .flatMap(i -> Flux.just(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
                   .log()
                ,
                concurrency, prefetch)
            .subscribe(i -> System.out.print("->"+i));
      }*/
    //->a->b->c->d->f->f->z->s
        @Test
      public void flatMapIterable () {
        Flux.just("abcd", "ffzs")
            .flatMapIterable(i -> Arrays.asList(i.split("")))
            .subscribe(i -> System.out.print("->"+i));
      }
    //->a->b->c->d->f->f->z->s
      @Test
      public void concatMap () throws InterruptedException {
        Flux.just("abcd", "ffzs")
            .concatMap(i -> Flux.fromArray(i.split("")).delayElements(Duration.ofMillis(10)))
            .subscribe(i -> System.out.print("->"+i));
        Thread.sleep(110);
      }
    //->a->b->c->d->f->f->z->s
     @Test
      public void concatMapIterable () {
        Flux.just("abcd", "ffzs")
            .concatMapIterable(i -> Arrays.asList(i.split("")))
            .subscribe(i -> System.out.print("->"+i));
      }
    }
  • 相关阅读:
    Spring一些常用注解及其作用
    Spring、Springboot、Springcloud的区别
    JVM常见配置
    Statement对象
    运算符优先级
    Java中的关键字有哪些?
    Servlet生命周期
    String类型的认识以及编译器优化
    JSTL--简单标签
    JSTL--表达式操作
  • 原文地址:https://www.cnblogs.com/tonggc1668/p/13999917.html
Copyright © 2011-2022 走看看