Skip to content

Instantly share code, notes, and snippets.

@ram0973
Last active January 6, 2023 17:05
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/9da2f325ab40cfd3011dbbc532c8e403 to your computer and use it in GitHub Desktop.
Save ram0973/9da2f325ab40cfd3011dbbc532c8e403 to your computer and use it in GitHub Desktop.
package com.javarush.task.task19.task1920;
package com.javarush.task.task19.task1920;
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;
/*
Самый богатый
*/
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))
.entrySet()
.stream()
.collect(Collectors.groupingBy(Map.Entry::getValue, TreeMap::new,
Collectors.mapping(Map.Entry::getKey, Collectors.toList())))
.lastEntry()
.getValue()
.stream()
.sorted()
.forEach(System.out::println);
} catch (IOException e) {
throw new RuntimeException(e);
} catch (NullPointerException ignored) {
}
}
}
@ram0973
Copy link
Author

ram0973 commented Jan 6, 2023

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

Пример входного файла:
Петров 0.501
Иванов 1.35
Петров 0.85

Пример вывода:
Петров

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