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 次 |
| 最近记录: |