A list contains at least one value from another list (Java 8)
My function finds if from a list of given words at list one word is valid in the page. So when page contains words I have written it as follows: (Simplified version) private boolean atLeastOneWordIsValidInThePage(Page page, Set<Long> wordIdsToCheck) Set<Long> wordIds = page.getWords().stream() .filter(word -> word.isValid()) .map(word->getWordId()) .collect(Collectors.toSet()); return words.stream().anyMatch((o) -> wordIds.contains(o)); Is it the best java 8 practice to write it? I want to stop searching when the first match is found. There is no need to open two separate streams. You should