Вы можете сопоставить значения списка с необязательными строковыми значениями, затем отфильтровать пустые необязательные значения и, наконец, собрать их на карту. Вам не нужно явно определять returnMap
.
return mapLByA.entrySet().stream()
.map(e -> Map.entry(e.getKey(), someMethod(e.getValue())))
.filter(e -> e.getValue().isPresent())
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
Edit:
Map.entry
была введена в Java 9. Для Java 8 используйте вместо этого оператор map:
.map(e -> new AbstractMap.SimpleEntry<>(e.getKey(), someMethod(e.getValue())))