Последние условие не выполняется. пробовал использовать сначала только тримап (ведь значения возвращаются, а значит сортируются там же), но не пропускало. Попробовал отдельно сделать три мап, сделав все манипуляции отдельно при помощи хешмапы, всё тоже самое.
Да, можно решить по другому (видел примеры работ, где метод merge не используют), но я хочу попробовать решить именно таким способом. Ведь такие работы тоже есть, а методом пользуюсь впервые, и хочу разобраться ._. (мазохист?)
package com.javarush.task.task19.task1919;
import java.io.*;
import java.util.*;
/*
Считаем зарплаты
*/
public class Solution {
public static void main(String[] args) throws IOException {
Map<String, Double> map = new HashMap<>();
TreeMap<String, Double> treeMap = new TreeMap<>();
try(BufferedReader reader = new BufferedReader(new FileReader(args[0]))) {
while(reader.ready()) {
String[] str = reader.readLine().split(" ");
double id = Double.parseDouble(str[0]);
map.put(str[0], id);
}
}
for(Map.Entry<String, Double> m:map.entrySet()) {
String key = m.getKey();
double salary = m.getValue();
map.merge(key, salary, Double::sum);
treeMap.put(key, salary);
}
treeMap.forEach((a,b) -> System.out.println(a+" "+b));
}
}