zoukankan      html  css  js  c++  java
  • Reactor系列(五)map映射

    #java# #reactor# #flux# #map# #映射#

    视频解视: https://www.bilibili.com/video/av79179444/

    FluxMonoTestCase.java
    package com.example.reactor;
    
    import lombok.Data;
    import lombok.ToString;
    import lombok.extern.slf4j.Slf4j;
    import org.junit.jupiter.api.Test;
    import reactor.core.publisher.Flux;
    
    @Slf4j
    public class FluxMonoTestCase extends BaseTestCase {
        @Test
        public void map() {
            Flux<Employee> employeeFlux = Flux.fromIterable(list);
            employeeFlux.filter(employee -> employee.getSalary() == 2000)
                    .map(employee -> {
                        Leader leader = new Leader();
                        leader.setName(employee.getName());
                        leader.setSalary(employee.getSalary());
                        return leader;
                    }).log().subscribe();
            employeeFlux.map((in) -> {
                Leader leader = new Leader();
                leader.setName(in.getName());
                leader.setSalary(in.getSalary());
                return leader;
            });
        }
    
        @Data
        @ToString
        class Leader {
            private String name;
            private double salary;
        }
    }
    

      

    BaseTestCase.java
    package com.example.reactor;
    
    import java.util.Arrays;
    import java.util.List;
    
    public class BaseTestCase {
        protected static final List<Employee> list = Arrays.asList(
                new Employee(1, "Alex", 1000),
                new Employee(2, "Michael", 2000),
                new Employee(3, "Jack", 1500),
                new Employee(4, "Owen", 1500),
                new Employee(5, "Denny", 2000));
    }
    

      结果:

    11:37:33.668 [main] INFO reactor.Flux.MapFuseable.1 - | onSubscribe([Fuseable] FluxMapFuseable.MapFuseableSubscriber)
    11:37:33.670 [main] INFO reactor.Flux.MapFuseable.1 - | request(unbounded)
    11:37:33.670 [main] INFO reactor.Flux.MapFuseable.1 - | onNext(FluxMonoTestCase.Leader(name=Michael, salary=2000.0))
    11:37:33.681 [main] INFO reactor.Flux.MapFuseable.1 - | onNext(FluxMonoTestCase.Leader(name=Denny, salary=2000.0))
    11:37:33.682 [main] INFO reactor.Flux.MapFuseable.1 - | onComplete()

    关注公众号,坚持每天3分钟视频学习

  • 相关阅读:
    【sqlserver】sqlserver表中导入大批量数据
    java中json结果检查
    spoj375Query on a tree树链剖分
    Hdu4737 ( A Bit Fun ) 线段树
    CodeForces 274E. Riding in a LiftDp
    D. Red-Green Towers Dp
    Hdu5067旅行商
    Hdu5068线段树
    uva11992线段树
    uva1400线段树
  • 原文地址:https://www.cnblogs.com/JavaWeiBianCheng/p/12038547.html
Copyright © 2011-2022 走看看