gpt4 book ai didi

java - 迭代两个数组列表并返回 lambda

转载 作者:行者123 更新时间:2023-12-01 17:55:09 28 4
gpt4 key购买 nike

我有一个方法,它有一个字符串数组列表和一个字符数组列表。我想迭代每个字符串,看看它们是否包含字符列表中的字符。如果没有,我想返回该字符串。我无法将其放入干净的 lambda 表达式(如果可能的话)。我查看了使用 Stream 的过滤器,但我不知道是否可以使用两个 ArrayList 和一个 return 语句。

ArrayList<String> words = getWords();
ArrayList<Character> chars = getChars();
for (String word : words) {
boolean doesNotContain = true;
for (char letter : chars) {
if (word.indexOf(letter) >= 0) {
doesNotContain = false;
}
}
if (doesNotContain) {
return word;
}
}

最佳答案

这是一种方法:

return words.stream()
.filter(word -> chars.stream().noneMatch(letter -> word.indexOf(letter) >= 0))
.findFirst()
.orElse("");

关于java - 迭代两个数组列表并返回 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45644815/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com