Проверка «все подходят» в Java
Метод allMatch возвращает true только
если предикат выполняется для всех элементов.
Достаточно одного нарушения, чтобы ответ стал
false, и обход может завершиться раньше.
Проверим, что все оценки в списке проходные:
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> groupA = List.of(61, 74, 88);
List<Integer> groupB = List.of(61, 54, 88);
boolean okA = groupA.stream()
.allMatch(score -> score >= 60);
boolean okB = groupB.stream()
.allMatch(score -> score >= 60);
System.out.println(okA);
System.out.println(okB);
}
}
Пустой поток после filter считается «все
подходят»: для allMatch это вакуумная
истина, о которой стоит помнить при валидации
данных.
Дан код:
var nums = List.of(2, 4, 6, 8);
Проверьте, что все числа четные, и выведите результат.
Дан код:
var strings = List.of("go", "java", "rust");
Проверьте, что каждая строка длиннее двух символов.