当前位置: 首页 > 知识库问答 >
问题:

如何使用Java 8 lambda和Steam API获取元素之和[duplicate]

吕承福
2023-03-14

如何将以下内容转换为流API和lambda表达式。

double journalSize = 0;
List<PersistenceAdapter> allKahadb = ((MultiKahaDBPersistenceAdapter)persistenceAdapter).getAdapters();



for (PersistenceAdapter persistenceAdapter : allKahadb) {
    Journal journal = ((KahaDBPersistenceAdapter) persistenceAdapter).getStore().getJournal();
    int noOfJournels = journal.getFiles().size();
    long journalMaxSize = journal.getMaxFileLength();
    journalSize += (journalMaxSize * noOfJournels)/ Memory.ONE_MB;
}

我试着用“地图”和“溪流之和”来做,但什么都没用?基本上我需要日志大小的总和。

共有1个答案

程和煦
2023-03-14

将对象映射到日志实例,然后将它们映射到要求和的双值

double journalSize =
    allKahadb.stream()
             .map(pa -> ((KahaDBPersistenceAdapter)pa).getStore().getJournal())
             .mapToDouble(j -> ((double) j.getMaxFileLength() * j.getFiles().size()) / Memory.ONE_MB)
             .sum();

 类似资料:
  • 给定一个元素列表,我想获取具有给定属性的元素并将其从列表中删除。我找到的最佳解决方案是: 是否可以在lambda表达式中组合get和删除?

  • 问题内容: 我正在尝试使用jquery和Selenium IDe 1.0.8获取元素。 在日志中我得到 当我把这个命令放到萤火虫中时,我得到了这个元素:/ 为什么不起作用? 编辑:例如,您也可以给我代码如何在stackoverflow主页上获取带有JAVA标签的第一个对象的ID。 标签: 和示例结果来自: 是: 问题答案: 根据其他帖子,我尝试了以下操作,并且有效。 将以下代码添加到user-ex

  • 我有一个html如下所示 如您所见,在父div下有四个子div,它包含类;第三个子div包含一个额外的类。我想在包含类的子项之前选择所有子项。注任何子级都可以包含类,并且在任何情况下,我都希望所有子级位于它之前。 这就是我所做的 但在本例中它也选择最后一个子项。在使用JavaScript选择类之前,我如何确保只有子类? 我在stackoverflow中发现了一个类似的问题:在element wit

  • 我正在尝试使用Powershell和Selenium在chrome浏览器中自动单击。到目前为止,我已经成功地单击了下面的html文件示例主体中的元素。 HTML Powershell 使用上面的脚本将单击select元素中的第三个选项(在本例中为“Mercedes”)。 然而,我正在努力操纵阴影根中的元素,我似乎无法访问其中的任何元素,更糟糕的是,我要单击的元素位于子阴影根中,如下图所示: 上述图

  • 问题内容: 使用jQuery,如何获得具有插入符号(光标)焦点的输入元素? 换句话说,如何确定输入是否具有插入符号的焦点? 问题答案: 您应该使用哪一个?引用jQuery文档: 与其他伪类选择器(以“:”开头的选择器)一样,建议在:focus之前加上标签名称或其他选择器;否则,暗示通用选择器(“ *”)。换句话说,裸露等于。如果您正在寻找当前关注的元素,则$(document.activeElem

  • 问题内容: 我想找到一种方法来获取元素树的所有子元素,就像这样,因为自python 2.7版本以来已弃用,尽管现在我仍然可以使用它,但我不想再使用它了。 谢谢。 问题答案: 的所有子元素(后代): 一个更完整的示例: 排除根本身: