Raf*_*ing -2 java collections arraylist java-stream
我有一封List<String> emails
包含电子邮件,长度为n
,另一个List<String> keywords
包含关键字,长度相同。这些列表应满足以下条件: 对于每个索引i
emails.get(i).contains(keywords.get(i))
所以,如果emails.get(0) == "quick brown fox"
,那么keywords.get(0) == "fox"
。
如果emails.get(5) == "foo bar"
,那么keywords.get(5) == "foo"
。
如何检查(除了for
循环之外)每封电子邮件都包含关键字?
首先,可能需要检查两个列表的大小,然后比较相应的列表项,IntStream
应使用:
public static boolean allKeywordsFound(List<String> emails, List<String> keywords) {
return emails.size() == keywords.size() &&
IntStream.range(0, emails.size())
.allMatch(i -> emails.get(i).contains(keywords.get(i)));
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
952 次 |
最近记录: |