Skip to content

Instantly share code, notes, and snippets.

@ram0973
Created January 6, 2023 17:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ram0973/27a465e87c760852e33188afeb022766 to your computer and use it in GitHub Desktop.
Save ram0973/27a465e87c760852e33188afeb022766 to your computer and use it in GitHub Desktop.
package com.javarush.task.task19.task1919;
package com.javarush.task.task19.task1919;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Comparator;
import java.util.Map;
import java.util.TreeMap;
import java.util.stream.Collectors;
/*
Считаем зарплаты
*/
public class Solution {
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader(args[0]))) {
br.lines()
.map(line -> line.split(" "))
.collect(Collectors.toMap(e -> e[0], e -> Double.parseDouble(e[1]), Double::sum, TreeMap::new))
.entrySet()
.stream()
.map(x -> x.getKey() + " " + x.getValue())
.forEach(System.out::println);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
@ram0973
Copy link
Author

ram0973 commented Jan 6, 2023

Для каждого имени посчитать сумму всех его значений.
Все данные вывести в консоль, предварительно отсортировав в возрастающем порядке по имени.

Пример входного файла:
Петров 2
Сидоров 6
Иванов 1.35
Петров 3.1

Пример вывода:
Иванов 1.35
Петров 5.1
Сидоров 6.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment