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

  • 相关阅读:
    leetcode108 Convert Sorted Array to Binary Search Tree
    leetcode98 Validate Binary Search Tree
    leetcode103 Binary Tree Zigzag Level Order Traversal
    leetcode116 Populating Next Right Pointers in Each Node
    Python全栈之路Day15
    Python全栈之路Day11
    集群监控
    Python全栈之路Day10
    自动部署反向代理、web、nfs
    5.Scss的插值
  • 原文地址:https://www.cnblogs.com/JavaWeiBianCheng/p/12038547.html
Copyright © 2011-2022 走看看