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

Reactor系列(五)map映射的更多相关文章

  1. PHP转Go系列:map映射

    映射的定义 初识映射会很懵,因为在PHP中没有映射类型的定义.其实没那么复杂,任何复杂的类型在PHP中都可以用数组表示,映射也不例外. $array['name'] = '平也'; $array['s ...

  2. Reactor系列(七)flatMap映射

    #java##reactor##flatMap# 视频讲解: https://www.bilibili.com/video/av79582009/ FluxMonoTestCase.java pack ...

  3. MyBatis 系列五 之 关联映射

    MyBatis 系列五 之 关联映射 一对多的关联映射 一对多关联查询多表数据 1.1在MyBatis映射文件中做如下配置 <!--一对多单向的连接两表的查询--> <resultM ...

  4. Java 集合系列 15 Map总结

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  5. Java 集合系列 08 Map架构

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  6. 转:Mybatis系列之集合映射

    转:Mybatis系列之集合映射 上篇文章我们讲了关联映射,实现了销售与登录用户之间的关联.本文我们接着来讲一讲集合映射,实现销售与客户的多对多关系. 实现销售与客户多对多关系 本文中仍延用<M ...

  7. struts2官方 中文教程 系列五:处理表单

    先贴个本帖的地址,免得其它网站被爬去了struts2教程 官方系列五:处理表单  即 http://www.cnblogs.com/linghaoxinpian/p/6906298.html 下载本章 ...

  8. UVA12096 - The SetStack Computer(set + map映射)

    UVA12096 - The SetStack Computer(set + map映射) 题目链接 题目大意:有五个动作: push : 把一个空集合{}放到栈顶. dup : 把栈顶的集合取出来, ...

  9. Bing Maps进阶系列五:通过DeepEarth的MiniMap控件为Bing Maps扩展迷你小地图

    Bing Maps进阶系列五:通过DeepEarth的MiniMap控件为Bing Maps扩展迷你小地图 Bing Maps Silverlight Control虽然为我们提供了简洁.方便的开发模 ...

随机推荐

  1. 成熟度等级CMM

    软件能力成熟度模型 (Capability maturity model,CMM) CMM是目前国际上使用流行的一种软件生产过程行业标准模型,可定义.评价软件开发过程的成熟度,并提供提高软件质量的指导 ...

  2. 2 使用unitest 模块扩展功能测试

    准备做一个 待办事项清单网站,来演示 Web 开发过程中的所有主要步骤.以及如何在各个步骤中运用TDD理念. ”功能测试“: 从用户的角度查看应用是如何运作的. 从某种程度上可以作为应用的说明书. 作 ...

  3. List 中 forEach 的用法

    1.forEach List list = new ArrayList<String>(); list.add("small"); list.add("sun ...

  4. AtomicInteger如何保证线程安全以及乐观锁/悲观锁的概念

    众所周知,JDK提供了AtomicInteger保证对数字的操作是线程安全的,线程安全我首先想到了synchronized和Lock,但是这种方式又有一个名字,叫做互斥锁,一次只能有一个持有锁的线程进 ...

  5. learning express step(十一)

    learning express.Router() code: const express = require('express'); const app = express(); var route ...

  6. 在Vue中使用TypeScript

    TypeScript基础学习 初始化TS项目 Vue装饰器 vue-typescript-admin框架 1.TypeScript基础学习 2.初始化TS项目 3.Vue装饰器 Vue装饰器常用的有下 ...

  7. leetcode解题报告(2):Remove Duplicates from Sorted ArrayII

    描述 Follow up for "Remove Duplicates": What if duplicates are allowed at most twice? For ex ...

  8. [Luogu] 【模板】点分治1

    // 模板题#include <bits/stdc++.h> ; , head[N], dis[N]; ]; int size[N], maxson[N], Root; bool vis[ ...

  9. array_merge与array+array的区别

    结果:

  10. selenium 定制启动chrome的参数

    selenium 定制启动chrome的参数 设置代理. 禁止图片加载 修改ua https://blog.csdn.net/vinson0526/article/details/51850929 1 ...