//Annas sent him bound to Caiaphas, the high priest. (John 18:24) package com.javarush.task.task19.task1919; /* Считаем зарплаты */ import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.Map; import java.util.TreeMap; import java.util.stream.Collectors; import java.util.stream.Stream; public class Solution { public static void main(String[] args) { try (FileReader fileReader = new FileReader(args[0])) { BufferedReader fReader = new BufferedReader(fileReader); Map map = getCollectByGroup(fReader.lines()); for (Map.Entry entry : map.entrySet()) { System.out.println(entry.getKey() + " " + entry.getValue()); } } catch (IOException e) { e.printStackTrace(); } } public static Map getCollectByGroup(Stream lines) { return lines .map(s -> s.split(" ")) .collect(Collectors.groupingBy(s -> s[0], TreeMap::new, Collectors.summingDouble(s -> Double.valueOf(s[1])))); } } /* Считаем зарплаты В метод main первым параметром приходит имя файла. В этом файле каждая строка имеет следующий вид: имя значение где [имя] — String, [значение] — double. [имя] и [значение] разделены пробелом. Для каждого имени посчитать сумму всех его значений. Все данные вывести в консоль, предварительно отсортировав в возрастающем порядке по имени. Закрыть потоки. Пример входного файла: Петров 2 Сидоров 6 Иванов 1.35 Петров 3.1 Пример вывода: Иванов 1.35 Петров 5.1 Сидоров 6.0 Требования: 1. Программа НЕ должна считывать данные с консоли. 2. Программа должна считывать содержимое файла (используй FileReader). 3. Поток чтения из файла (FileReader) должен быть закрыт. 4. Программа должна выводить в консоль каждое имя и сумму всех его значений, все данные должны быть отсортированы в возрастающем порядке по имени. package com.javarush.task.task19.task1919; * Считаем зарплаты * public class Solution { public static void main(String[] args) { } } */