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

Java 11 Lambda-检查每个对象,当满足第一个条件时返回true,否则返回false[重复]

轩辕经赋
2023-03-14

我有一个很管用的方法。这是看起来的样子。

private boolean roomWithMoreThanTenFurnitures(Building building) {
if (building != null && building.hasRooms()) {
    for (Room room : building.getRooms()) {
        if (room.getFurnitures.size() > 10) {
            return true;
        }
    }   
}
return false;
}

我想把这个换成兰姆达。里面带着shell来了uo,但是我不知道怎么填充if(条件)返回true还是返回false外面。

building.getRooms().forEach(room -> {
//??
});

共有1个答案

柳弘方
2023-03-14

你可以这样做。根据初始条件返回false,然后对房间进行流式处理。这假定房间可以是流式的(例如列表)。如果它们是数组,则需要执行类似于arrays.stream(building.getrooms())的操作

private boolean roomWithMoreThanTenFurnitures(Building building) {
    if (building != null && building.hasRooms()) {
        return building.getRooms().stream()
                .anyMatch(room -> room.getFurnitures.size() > 10);
                
    }
    return false;
}
 类似资料:
  • 我有一个很好的方法。这就是它的样子。 我想把这个换成Lambda。但我不知道如何填写if(条件)在外面返回true或false。我知道我也可以在流中完成。有人能举个例子吗?

  • 如果对于树中的每个非叶节点,存储在该节点的数字小于或等于存储在其每个子节点的数字,则二叉树称为堆(或者,称为满足堆属性)。例如,下面的树满足heap属性,因为3≤ 5, 5 ≤ 8和5≤ 7. 另一方面,下面的树不满足堆属性,因为6不小于或等于5。 示例: 任何帮助都将得到认可。

  • 问题内容: 提交表单时,我正在运行此表单检查: 该脚本有效,如果数据== 1,它会警告键已经存在,但是表单仍在提交。我以为如果data == 1则返回false将停止处理表单,但是无论如何它都会继续并添加键,并且弹出键已经存在。如果data == 1,如何阻止表单提交?我什至尝试这样做: 然后删除脚本底部的return true,但是会发生相同的问题。弹出窗口出现,但表单仍得到处理。 问题答案:

  • 我正在写一些代码,有些事情让我困惑。我有一个名为的数字数组。现在我想遍历这个列表,如果一个值高于60,例如,我想创建一个新的对象数组(集合),在那里我们存储高值,它的索引来自原始数组。所以以下面的代码为例 控制台。日志输出如下 这个输出是我所需要的,但是如何防止返回未定义的值呢?我考虑过使用数组。但这似乎不合适?我应该使用不同的数组方法吗?我不想使用for循环并推送到一个新数组,除非这是在不返回未

  • 问题内容: 据我所知,使用或实例化对象分别返回或的新实例。具有 新标识 的新实例对象。 在我实际测试它之前,这对我来说是很清楚的,我注意到它实际上返回了而不是预期的: 如预期的那样,分别使用和创建对象时,也会表现出这种行为: 我可以在状态文档中找到唯一相关的信息: […]例如,return和return 。 如果未提供任何参数,则构造函数将创建一个新的空元组。 可以说,这不足以回答我的问题。 那么

  • 问题内容: 当我尝试从Java代码中删除tomcat服务器conf / Catalina / localhost中存在的文件时,file.delete()始终返回false。但是,如果我通过file.exists()函数检查文件,它将返回true。我没有任何例外。请帮助我们为什么会这样。有什么解决方案? 问题答案: 当我尝试从Java代码中删除tomcat服务器conf / Catalina /