Não sei se entendi errado, mas quando imagino findAny
me remete a algum valor, porém randômico, mas o que ocorre nos testes que executei é sempre retornar o mesmo resultado. O exemplo que utilizei paras os testes foi o mesmo da aula:
List<Curso> cursos = new ArrayList<>();
cursos.add(new Curso("Python", 45));
cursos.add(new Curso("JavaScript", 150));
cursos.add(new Curso("Java 8", 113));
cursos.add(new Curso("C", 55));
Optional<Curso> optional = cursos.stream()
.filter(c -> c.getAlunos() > 100)
.findAny();
optional.ifPresent(c -> System.out.println(c.getNome()));
No meu caso só retorna palavra Javascript
, porém se adiciono .paralllel(), antes do filter, só retorna Java 8
.
O resultado é isso mesmo ou tem algum explicação para isso?