Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Main {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- Map<String, List<String>> members = new LinkedHashMap<>();
- Map<String, Integer> time = new HashMap<>();
- String line = scanner.nextLine();
- while (!(line.equals("start of concert"))) {
- String[] arrayLine = line.split("; ");
- String nameOfGroup = arrayLine[1];
- if (arrayLine[0].equals("Add")) {
- if (!(members.containsKey(nameOfGroup))) {
- members.put(nameOfGroup, new ArrayList<>());
- List<String> temp = members.get(nameOfGroup);
- String[] arrTemp = arrayLine[2].split(", ");
- Collections.addAll(temp, arrTemp);
- } else {
- List<String> temp = members.get(nameOfGroup);
- String[] arrTemp = arrayLine[2].split(", ");
- for (String s : arrTemp) {
- if (!(temp.contains(s))) {
- temp.add(s);
- }
- }
- }
- } else if (arrayLine[0].equals("Play")) {
- int songTime = Integer.parseInt(arrayLine[2]);
- if (!(time.containsKey(nameOfGroup))) {
- time.put(nameOfGroup, songTime);
- } else {
- time.put(nameOfGroup, time.get(nameOfGroup) + songTime);
- }
- }
- line = scanner.nextLine();
- }
- int totalTime = 0;
- for (Map.Entry<String, Integer> time1 : time.entrySet()) {
- totalTime += time1.getValue();
- }
- String nameOfGroup = scanner.nextLine();
- System.out.println("Total time: " + totalTime);
- time
- .entrySet()
- .stream()
- .sorted(Map.Entry.<String, Integer>comparingByValue().reversed())
- .forEach(time1 -> System.out.println(String.format("%s -> %s", time1.getKey(), time1.getValue())));
- System.out.println(nameOfGroup);
- members
- .forEach((key, value) -> {
- if (key.equals(nameOfGroup)) {
- value.forEach(e -> System.out.println("=> " + e));
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement