java - 对于 Java 8 中的每个循环:在 Java 8 中编写以下代码的最佳方法是什么
问题描述
就 for 循环和过滤而言,在 Java 8 中编写以下代码的最佳方法是什么。
boolean flag = true;
List<Feed> availableFeeds = data.getAvailableFeeds();
for (Feed feedElement : availableFeeds) {
String type = feedElement.getType();
if ("MatchState".equals(type)) {
flag = false;
break;
}
}
解决方案
boolean flag = data.getAvailableFeeds()
.stream()
.map(Feed::getType)
.noneMatch("MatchState"::equals)
第一行从列表中创建一个流。第二个Feed
通过调用将每个映射到 type getType
。如果没有类型等于字符串“MatchState”,则最后一个返回 true。
推荐阅读
- excel - 如果单元格 A1 大于 B1,则将行剪切并粘贴到第一个空行
- webpack - DevServer 无法编译 ./node_modules/tailwindcss/tailwind.css 中的错误
- docker - 没有端口号的 Docker 容器间通信
- java - 连接到 Firebase 时无法同步 Gradle
- python - 如何用没有数据的列重构数据框
- flutter - 在 main 中发送一个参数并在小部件的构建中使用它(Flutter dart)
- unix - 如何在 Unix 的 head 和 tail 之间添加换行符?
- sqlite - 如何在一个 sql 表中加入所有内容并从另一个表中第一次出现,保留所有来自第一个表
- python - tensorflow 数据集在过滤后无法计算出 epoch 中的训练步数
- android - 当我收到意图时额外丢失