Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package _7_SETS_AND_MAPS_ADVANCED.Exercise;
- import java.awt.geom.Line2D;
- import java.util.*;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class _9_User_Logs {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- Map<String, Set<String>> usersAndIP = new TreeMap<>();
- Map<String, Integer> countRepeatIP = new LinkedHashMap<>();
- String input;
- while (!"end".equals(input = sc.nextLine())) {
- String[] toArray = input.split("=");
- String[] IpLooking = toArray[1].split("\\s+");
- String IP = IpLooking[0];
- String userName = toArray[3];
- usersAndIP.putIfAbsent(userName, new LinkedHashSet<>());
- usersAndIP.get(userName).add(IP);
- countRepeatIP.putIfAbsent(IP, 0);
- countRepeatIP.put(IP, countRepeatIP.get(IP) + 1);
- }
- for (Map.Entry<String, Set<String>> entry : usersAndIP.entrySet()) {
- String user = entry.getKey();
- System.out.println(user + ": ");
- Object[] SetToArray = entry.getValue().toArray(); //convert Set to Array
- for (int i = 0; i < SetToArray.length; i++) {
- if (i < SetToArray.length - 1) {
- System.out.print(SetToArray[i] + " => " + countRepeatIP.get(SetToArray[i]) + ", ");
- } else {
- System.out.print(SetToArray[i] + " => " + countRepeatIP.get(SetToArray[i]) + ".");
- }
- }
- System.out.println();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement