Чтобы улучшить читабельность вашего кода, я бы предложил избегать ненужных фигурных скобок в лямбдах и даже в самих лямбдах. Используйте ссылки на метод , где это возможно.
return map.values()
.stream()
.map(R::getSet)
.filter(set -> set.stream()
.map(R::getCountry)
.anyMatch(countryname::equals))
.flatMap(Set::stream)
.collect(toList());
Последние операции flatMap
и collect
можно сократить до одной строки:
.collect(ArrayList::new, List::addAll, List::addAll);
Или, если вы используете Java 9:
.collect(flatMapping(Set::stream, toList()));
Однако это просто вопрос вкуса.