在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;
}
}
Run Code Online (Sandbox Code Playgroud)
boolean flag = data.getAvailableFeeds()
.stream()
.map(Feed::getType)
.noneMatch("MatchState"::equals)
Run Code Online (Sandbox Code Playgroud)
第一行创建列表中的流.第二个Feed通过调用将每个映射到类型getType.如果没有类型等于字符串"MatchState",则最后一个返回true .