Я не очень хорошо знаком с Java 8 (все еще учится) и смотрю, могу ли я найти что-то эквивалентное приведенному ниже коду с использованием потоков.
Приведенный ниже код в основном пытается получить соответствующее двойное значение для каждого значения в String, а затем суммирует его. В этом формате я не мог найти никакой помощи. Я не уверен, что использование потоков очистит код или сделает его более беспорядочным.
// safe assumptions - String/List (Key/Value) cannot be null or empty
// inputMap --> Map<String, List<String>>
Map<String, Double> finalResult = new HashMap<>();
for (Map.Entry<String, List<String>> entry : inputMap.entrySet()) {
Double score = 0.0;
for (String current: entry.getValue()) {
score += computeScore(current);
}
finalResult.put(entry.getKey(), score);
}
private Double computeScore(String a) { .. }