#433 Повторное использование Stream в цикле
Проанализировать код, ответить на вопрос: правильно ли реализована функция, с точки зрения логики работы кода Java.
Код работоспособен и компилируется.
import java.util.Arrays;
import java.util.function.Predicate;
import java.util.stream.Stream;
public class Main {
private static String[] controlWords = new String[]{"человек", "зверь", "хорек"};
public static void main(String[] args) {
test("человек человеку зверь");
test("человек не хорек но и не зверь");
test("");
test(null);
}
private static void test(String line) {
String[] words = line.split(" ");
Stream wordsStream = Arrays.asList(words).stream();
for (int i = 0; i < controlWords.length; i++) {
if (wordsStream.anyMatch(Predicate.isEqual(controlWords[i]))) {
log("Найдено слово: " + controlWords[i]);
}
}
log("Проверка завершена");
}
private static void log(String msg) {
System.out.println(msg);
}
}
Разбор вопроса
Войди, чтобы начать диалог
Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти
Доступно с Premium
Это лишь одно из решений, доступных с Premium. А ещё:
- 250+ продвинутых лекций
- 1300+ практических заданий
- 500+ решений задач с реальных собеседований
- Именные сертификаты Java Hub
- Расширенный доступ к AI-ментору