Didart

Logs Aggregator

Jan 20th, 2023 (edited)
1,168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.13 KB | None | 0 0
  1. package SetsAndMaps3;
  2.  
  3. import java.util.Scanner;
  4. import java.util.TreeMap;
  5. import java.util.TreeSet;
  6.  
  7. public class LogsAggregator {
  8.     public static void main(String[] args) {
  9.         Scanner scanner = new Scanner(System.in);
  10.  
  11.  
  12.         int n = Integer.parseInt(scanner.nextLine());
  13.  
  14.         TreeMap<String, Integer> users = new TreeMap<>();
  15.         TreeMap<String, TreeSet<String>> addresses = new TreeMap<>();
  16.  
  17.         while (n-- > 0) {
  18.             String[] tokens = scanner.nextLine().split("\\s+");
  19.  
  20.             String ip = tokens[0];
  21.             String name = tokens[1];
  22.             int time = Integer.parseInt(tokens[2]);
  23.  
  24.             if (!users.containsKey(name)) {
  25.                 users.put(name, time);
  26.                 addresses.put(name, new TreeSet<>() {{
  27.                     add(ip);
  28.                 }});
  29.             } else {
  30.                 users.put(name, users.get(name) + time);
  31.                 addresses.get(name).add(ip);
  32.             }
  33.         }
  34.  
  35.         users.forEach((key, value) -> {
  36.  
  37.             System.out.printf("%s: %d %s%n", key, value, addresses.get(key).toString());
  38.         });
  39.     }
  40. }
  41.  
Advertisement
Add Comment
Please, Sign In to add comment