Вы должны явно передать ссылку на конструктор TreeMap::new
фабрике карт. Функция слияния - просто фиктивная, которая здесь не используется. Проверьте это,
TreeMap<Integer, Double> result2 = units.entrySet().stream().filter(v -> v.getValue().size() > 3)
.filter(v -> !v.getValue().get(1).isEmpty() && !v.getValue().get(2).isEmpty())
.collect(Collectors.toMap(Map.Entry::getKey,
e -> mult(e.getValue().get(1), e.getValue().get(2))),
(v1, v2) -> v1, TreeMap::new));
Даже если вы можете вычислить произведение двух встроенных чисел следующим образом,
TreeMap<Integer, Double> result2 = units.entrySet().stream().filter(v -> v.getValue().size() > 3)
.filter(v -> !v.getValue().get(1).isEmpty() && !v.getValue().get(2).isEmpty())
.collect(Collectors.toMap(Map.Entry::getKey,
e -> Double.parseDouble(e.getValue().get(1)) * Double.parseDouble(e.getValue().get(1)),
(v1, v2) -> v1, TreeMap::new));