List<Boolean> results = new ArrayList<>();
results.add(true);
results.add(true);
results.add(true);
results.add(false);
if (results.contains(false)) {
System.out.println(false);
} else {
System.out.println(true);
}
System.out.println(results.stream().reduce((a, b) -> a && b).get());
//System.out.println(!results.stream().anyMatch(a -> a == false));
System.out.println(!results.stream().anyMatch(a -> !a));
ВЫХОД:
ложь
ложь
ложь
К вашему сведению, результаты являются результатом карты + сбор ОП
List<Job> jobs;
List<Boolean> results = job.stream().map(j -> j.ready()).collect(Collector.toList())
Если явыберите команду Reduce или AnyMatch, мне не нужно собирать результаты операции карты.
Из результатов, представляющих собой список логических значений, я просто хочу вернуть значение false, если есть хотя бы одно значение false.
Я могу сделать это с помощью Reduce или AnyMatch.Мне не нравится Optional от Reduce, и мне не нравится, что я должен отрицать anyMatch
Есть ли плюсы / минусы для использования либо?