Simple Postfix Calculator using Java 8
I like how the Functions have simplified the enum, but, you have put logic in the implementation class that belongs in the enum....

The code:


private static final List&lt;String&gt; OPERATORS_LIST = Arrays.stream(Operator.values())
        .map(Operator::getSymbol)
        .collect(Collectors.toList());

private static final Map&lt;String, Operator&gt; STRING_TO_OPERATOR_MAPPING = Arrays.stream(Operator.values())
        .collect(Collectors.toMap(op -&gt; op.getSymbol(), op -&gt; op));



should be part of the Operator enum.... and there should be a static method on the enum:

public static Operator operatorFor(String op) {
    return STRING_TO_OPERATOR_MAPPING.get(op);
}


Then, your calling class would have the code:

private void processElement(final String element) {
    Objects.requireNonNull(element);
    Operator op = Operator.operatorFor(element);
    if (op != null) {
        processOperator(op);
    }
    else {
        processNumber(Double.parseDouble(element));
    }
}


Also, you should be trapping the NumberFormatException closer to where it is thrown....


        processNumber(Double.parseDouble(element));



should be:

try {
    processNumber(Double.parseDouble(element));
} catch (NumberFormatException nfe) {
    throw new CalculationFailedException("Unable to parse value " + element + " as a double.", nfe);
}


That way, you can identify which value failed to parse.