Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Uprajnenie;
- import java.util.Map;
- import java.util.Scanner;
- import java.util.Set;
- import java.util.TreeMap;
- import java.util.TreeSet;
- public class LogsAggregator {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- int n = Integer.parseInt(scanner.nextLine());
- Map<String, UserData> userDataMap = new TreeMap<>();
- for (int i = 0; i < n; i++) {
- String[] logData = scanner.nextLine().split(" ");
- String ip = logData[0];
- String user = logData[1];
- int duration = Integer.parseInt(logData[2]);
- if (!userDataMap.containsKey(user)) {
- userDataMap.put(user, new UserData());
- }
- userDataMap.get(user).addSession(ip, duration);
- }
- for (Map.Entry<String, UserData> entry : userDataMap.entrySet()) {
- String user = entry.getKey();
- UserData userData = entry.getValue();
- System.out.printf("%s: %d [%s]%n", user, userData.getTotalDuration(), userData.getUniqueIPs());
- }
- }
- static class UserData {
- private int totalDuration;
- private Set<String> uniqueIPs;
- public UserData() {
- totalDuration = 0;
- uniqueIPs = new TreeSet<>();
- }
- public void addSession(String ip, int duration) {
- totalDuration += duration;
- uniqueIPs.add(ip);
- }
- public int getTotalDuration() {
- return totalDuration;
- }
- public String getUniqueIPs() {
- return String.join(", ", uniqueIPs);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement