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分钟视频学习

  • 相关阅读:
    JAVA获取昨天、今天、明天等日期
    IDEA设置调用方法时提示方法上的注释
    Hibernate使用distinct返回不重复的数据,使用group by 进行分组
    SpringBoot 自定义注解
    tailwindcss 使用总结
    nodejs nvm 包管理
    macos NPM 全局安装解决方案
    git 遇到修改github密码导致本地push失败解决方案
    Jupyter 快捷方式设置
    Vue indent eslint缩进webstorm冲突解决
  • 原文地址:https://www.cnblogs.com/JavaWeiBianCheng/p/12038547.html
Copyright © 2011-2022 走看看