如何对 Reactor Flux 流中的值求和?

2024-03-22

假设我有一个存储库findAll()返回一个方法Iterable of State, where State是一个代表美国州的类,有两个字段(带有 getter/setter):name, and population.

我想获得所有人口字段的总和State在我的通量中。 我从 Iterable 创建一个 Flux,如下所示:

Flux f = Flux.fromIterable(stateRepo.findAll());

我已经有了我的 Flux,但我不知道有什么好方法来总结它的值。 我尝试过类似的东西

int total = 0;
f.map(s -> s.getPopulation()).subscribe(p -> total += v);
return total;

然而,编译器表示总计“应该是最终的或实际上是最终的”。添加final显然行不通,因为我正在尝试添加它。

我如何对 Flux 进行求和(或任何其他聚合函数)?


Use reduce method:

@GetMapping("/populations")
    public Mono<Integer> getPopulation() {
        return Flux.fromIterable(stateRepo.findAll())
                .map(s -> s.getPopulation())
                .reduce(0, (x1, x2) -> x1 + x2)
                .map(this::someFunction); //you can also handle the sum, if you wish
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何对 Reactor Flux 流中的值求和? 的相关文章

  • java中监视目录变化

    我正在使用 WatchService 来监视目录中的更改 特别是目录中新文件的创建 下面是我的代码 package watcher import java nio file import static java nio file Stand
  • Java:扩展类并实现具有相同方法的接口

    可能无法完成以下操作 我收到编译错误 继承的方法 A doSomthing int 无法隐藏 B 中的公共抽象方法 public class A int doSomthing int x return x public interface
  • Java Logger 未记录到 Netbeans 中的输出

    我正在 Netbeans 中使用 Maven 启动一个 Java 项目 我编写了一些代码来使用 Logger 类进行日志记录 但是 日志记录似乎不起作用 在程序开始时 我运行 Logger getLogger ProjectMainClas
  • java.lang.ClassNotFoundException:javax.mail.MessagingException

    我想使用 eclipse 将电子邮件从我的 gmail 帐户发送到另一个邮件帐户 我使用 apache tomcat 7 0 34 作为我的 Web 服务器 并使用端口 8080 作为 apache 服务器 HTTP 1 1 并使用 JRE
  • 两个整数乘积的模

    我必须找到c c a b mod m a b c m 是 32 位整数 但 a b 可以超过 32 位 我正在尝试找出一种计算 c 的方法 而不使用 long 或任何 gt 32 位的数据类型 有任何想法吗 如果m是质数 事情可以简化吗 注
  • 从 MATLAB 调用 Java?

    我想要Matlab程序调用java文件 最好有一个例子 需要考虑三种情况 Java 内置库 也就是说 任何描述的here http docs oracle com javase 6 docs api 这些项目可以直接调用 例如 map ja
  • Runtime.exec 处理包含多个空格的参数

    我怎样才能进行以下运行 public class ExecTest public static void main String args try Notice the multiple spaces in the argument Str
  • Sun 在 EDT 之外做 GUI 工作的演示?

    我正在看SplashDemo java http download oracle com javase tutorial uiswing examples misc SplashDemoProject src misc SplashDemo
  • 如何在字段值无效的情况下更改 Struts2 验证错误消息?

    我在 Web 表单上使用 Struts2 验证 如果字段假设为整数或日期 则
  • 如何在 ant 中为 junit 测试设置 file.encoding?

    我还没有完全完成file encoding 和 ant https stackoverflow com questions 1339352 how do i set dfile encoding within ants build xml
  • 从jar中获取资源

    我有包含文件的 jar myJar res endingRule txt myJar wordcalculator merger Marge class 在 Marge java 中我有代码 private static final Str
  • 如何使用 JMagick 转换色彩空间?

    如何使用 JMagick API 转换色彩空间 例如 CMYK gt RGB 和 RGB gt CMYK None
  • 蓝牙发送和接收文本数据

    我是 Android 开发新手 我想制作一个使用蓝牙发送和接收文本的应用程序 我得到了有关发送文本的所有内容逻辑工作 但是当我尝试在手机中测试它时 我看不到界面 这是Main Activity Code import android sup
  • 在 Java 中获取并存储子进程的输出

    我正在做一些需要我开始子处理 命令提示符 并在其上执行一些命令的事情 我需要从子进程获取输出并将其存储在文件或字符串中 这是我到目前为止所做的 但它不起作用 public static void main String args try R
  • Spring @Cacheable 和 @Async 注解

    我需要缓存一些异步计算的结果 具体来说 为了克服这个问题 我尝试使用 Spring 4 3 缓存和异步计算功能 作为示例 我们采用以下代码 Service class AsyncService Async Cacheable users C
  • 使用 HtmlUnit 定位弹出窗口

    我正在构建一个登录网站并抓取一些数据的程序 登录表单是一个弹出窗口 所以我需要访问这个www betexplorer com网站 在页面的右上角有一个登录链接 写着 登录 我单击该链接 然后出现登录弹出表单 我能够找到顶部的登录链接 但找不
  • 手动设置Android Studio的JDK路径

    如何为 Android Studio 使用自定义 JDK 路径 我不想弄乱 PATH 因为我没有管理员权限 是否有某个配置设置文件允许我进行设置 如果您查看项目设置 您可以从那里访问 jdk 在标准 Windows 键盘映射上 您可以在项目
  • java XMLSerializer 避免复杂的空元素

    我有这个代码 DocumentBuilderFactory factory DocumentBuilderFactory newInstance DocumentBuilder builder factory newDocumentBuil
  • java 中的蓝牙 (J2SE)

    我是蓝牙新手 这就是我想做的事情 我想获取连接到我的电脑上的蓝牙的设备信息并将该信息写入文件中 我应该使用哪个 api 以及如何实现 我遇到了 bluecove 但经过几次搜索 我发现 bluecove 不能在 64 位电脑上运行 我现在应
  • java'assert'和'if(){}else exit;'之间的区别

    java和java有什么区别assert and if else exit 我可以用吗if else exit代替assert 也许有点谷歌 您应该记住的主要事情是 if else 语句应该用于程序流程控制 而assert 关键字应该仅用于

随机推荐

  • 将换行符附加到 NSString

    我有这个 if soapResults nil soapResults soapResults stringByAppendingString n 但我收到警告 构建时来自不同 Objective C 类型的分配 当我在设备上运行它时 我得
  • C++ 反序列化通过 UDP 从 C# 应用程序发送的对象

    我有一个申请c 它连接到另一个应用程序 编写为c 通过UDP 我更喜欢高性能的解决方案 因为我希望测量事件客户端 某些处理服务器端和客户端处理完成的响应之间的时间 本质上是 往返延迟 我有一个 C 对象 例如 public class Pa
  • C# - 显示最大值、最小值和平均值

    我是 C 新手 我一直在致力于这个计划并进行研究 但一无所获 目标是让用户输入数字 多少由用户决定 当他们输入0时 它将停止程序并显示输入的最小数字 输入的最大数字以及输入的所有数字的平均值 我没有收到任何错误 而且我收到了 如果有人可以请
  • Java中删除字符串中的特定字符

    例如 给定一个字符串Battle of the Vowels Hawaii vs Gronzy当我们指定要删除的字符为aeiou 该函数应将字符串转换为Bttl f th V wls Hw vs Grzny 在书上找到这个问题编程面试曝光
  • surfaceDestroyed()何时发生

    我不知道什么时候surfaceDestroyed 发生 我试图让我的线程停止运行surfaceDestroyed 方法 SurfaceView 但似乎我的表面从未真正被破坏 有人可以告诉我什么时候发生这种情况吗 或者说如何触发 每当您单击
  • Angular模板绑定,多次调用回调函数

    我尝试实现一个包含结构化数据的网格组件columns definition和它的data array 有一个callback每列定义中的函数 用于自定义显示该列的值 每一个里面callback 它调用了 console log 来显示回调函
  • NSArray:为什么发送 SIGABRT 而不是“索引越界”类型的错误?

    好的 所以我有这个非常奇怪的SIGABRT我正在开发的一个复杂的 Objective C iOS 程序上出现了错误 经过一天的跟踪 我找到了罪魁祸首 假设我们有以下代码 NSArray a NSArray arrayWithObjects
  • 检测 Node Express 中的社交机器人

    我正在尝试检测以下两个选项之一 特定的机器人列表 FacebookExternalHit LinkedInBot TwitterBot Baiduspider 任何不支持 Crawable Ajax 规范的机器人 我见过类似的问题 如何识别
  • 在 Cloud Function 上部署函数时出现错误,错误代码为 13 并显示消息“INTERNAL”

    我正在为我的应用程序部署 Firestore 触发器 onCreate 但每次我想部署时 它总是出错 控制台始终显示代码 13 和消息 内部 这是控制台上出现的内容 type type googleapis com google cloud
  • 在 R 中将实际日期转换为整数值

    使用 R 我希望能够将格式为 2014 12 31 的日期转换为整数 20141231 以便创建序列号 我的目标只是能够完成这个用户问题的反向 将整数字符串日期转换为实际日期 https stackoverflow com question
  • Socket.io:如何使用 Socket.io-redis 适配器计算房间内的客户端数量

    我开始使用构建聊天服务器Socket io http socket io 具有多个节点 它用Socket io redis https github com automattic socket io redis将所有服务器连接在一起并且ro
  • 使用 boost Spirit 语法(boost 1.43 和 g++ 4.4.1)第二部分构建错误

    我在编译一个小的spirit qi语法时遇到问题 我正在使用 boost 1 43 和 g 4 4 1 输入语法头 构建错误似乎指向 指令 规则的定义 也许是 sp val sp 1 以某种方式破坏了它 但这或多或少基于spirit文档教程
  • 使用自定义形状在画布上绘制位图

    我想在画布上绘制具有以下形状的图像 黑色必须用我的图像代替 我目前将图像绘制为一个整体 我只是不知道如何才能得到这样的形状 canvas drawBitmap header 0 0 mPaint 有人能帮我吗 感谢 pskink 我已经得到
  • 无法将 imgur 上的 gif 嵌入到 github 上的 README.md 中

    我想在 README md 上显示一个大 gif 首先 我把它上传到imgur 然后 我将 url 添加到 README md img alt YAP src http i imgur com dNYswmI gif 但无法加载 编译为 a
  • 在 JavaScript 中是否有更好的方法来执行可选函数参数? [复制]

    这个问题在这里已经有答案了 我总是像这样处理 JavaScript 中的可选参数 function myFunc requiredArg optionalArg optionalArg optionalArg defaultValue Do
  • 检查应用程序是否已购买

    我只是想问是否有办法检查用户是否确实以编程方式购买了应用程序 我看到 无尽之剑 3 和其他游戏如何强迫用户登录他们的苹果帐户 并以某种方式向商店检查该应用程序是否已被购买 这怎么可能以编程方式创建 我在整个网络上进行了搜索 只是为了找到如何
  • 如何使用 C# 创建复杂的 JSON 对象

    我有这样的 JSON 结构 name flare children name analytics children name cluster children name AgglomerativeCluster size 3938 name
  • 如何在屏幕会话中执行命令

    我想知道如何在屏幕会话中执行命令 我搜索了一下 发现了这个 screen S nameofscreen X stuff command 当我输入此命令时 命令会在屏幕内输入 但不会执行 所以我的问题是如何使用此命令按 Enter 键 我会做
  • 应用程序在逻辑删除后再也不会成功启动。没有抛出异常

    我在逻辑删除后让我的应用程序从头开始恢复 加载时遇到问题 它在以下行失败 ServerCollection collection AppSettings GetSetting AppResources settings servercoll
  • 如何对 Reactor Flux 流中的值求和?

    假设我有一个存储库findAll 返回一个方法Iterable of State where State是一个代表美国州的类 有两个字段 带有 getter setter name and population 我想获得所有人口字段的总和S