java - 如何将逻辑运算符应用于 Java 中的所有元素

标签 java arraylist operators

我需要将 &&(逻辑与)运算符应用于列表中的所有元素。问题是:在我当前的解决方案中,我需要初始化 rowResult 变量,我认为结果可能会变得无效,因为该变量具有初始值。

ArrayList<Boolean> results = new ArrayList<>();
for (i = 1; i < results.size(); i++) {
    rowResult = rowResult && results.get(i);
}

最佳答案

如 Jon Skeet 或 CherryDT 所述,您可以使用 true 初始化 rowResult。那么您的代码可能如下所示:

boolean rowResult = true;
for (Boolean el: list) {
    rowResult = el && rowResult;
}

如果要使用运算符OR - ||,初始值应设置为false,运算符应设置为 ||


在 Java 8 中,您可以为流应用 reduce 方法:

List<Boolean> list = new ArrayList<>();
boolean rowResult = list.stream().reduce((a,b)-> a && b).orElse(true);

后者的优点是您可以应用任何逻辑运算符来代替 &&

在 java 8 示例中,可以将运算符更改为例如 || 以应用 ORorElse 语句中的值仅适用于列表为空的情况。

关于java - 如何将逻辑运算符应用于 Java 中的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37140888/

相关文章:

android - 如何在 Android 上的 ArrayList 中的每个元素的末尾添加一个逗号

Java纸牌游戏。 ( war 游戏)

c++ - 为什么我在使用++ 时出现段错误,但在使用 '1 +' 时却没有?

c# 条件语句 |

java - 泛型实际上如何像参数一样工作?

java - NetBeans - 启动画面?

java - Checkstyle 错误 - 返回计数为 4(允许的最大值为 2)

java - 如何在 Java 中从 ArrayList 中切出 ArrayList?

c++ - C++中的Bignum除法和赋值

java - 如何实现JavaFX与非JavaFX的交互?