You can use a parallel stream to return Optional<String>, which may or may not be empty, depending on whether a bar exists as an attribute for an object Fooin List<Foo>:
list.parallelStream()
.map(Foo::getName)
.filter(s -> s.equals("bar"))
.findAny();
List<Foo>, O (n/# )
- name, , , , , .