Given a list with programming paradigms:
List<String> paradigms = Arrays.asList(
"Aspect-oriented programming",
"Functional programming",
"Object-oriented programming",
"Logical programming",
"Procedural programming",
"Automata-based programming"
);
Here is a piece of code with streams:
List<String> filtered = paradigms.stream()
.filter(paradigm -> paradigm.contains("oriented") || paradigm.contains("Functional"))
.flatMap(paradigm -> Arrays.stream(paradigm.split("\\s+")))
.distinct()
.collect(Collectors.toList());
What elements does the filtered list contain (ignoring the order)?