Advertisement
petar088

Untitled

Jun 6th, 2019
337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. package _7_SETS_AND_MAPS_ADVANCED.Exercise;
  2.  
  3. import java.awt.geom.Line2D;
  4. import java.util.*;
  5. import java.util.regex.Matcher;
  6. import java.util.regex.Pattern;
  7.  
  8. public class _9_User_Logs {
  9. public static void main(String[] args) {
  10. Scanner sc = new Scanner(System.in);
  11.  
  12. Map<String, Set<String>> usersAndIP = new TreeMap<>();
  13. Map<String, Integer> countRepeatIP = new LinkedHashMap<>();
  14.  
  15. String input;
  16. while (!"end".equals(input = sc.nextLine())) {
  17. String[] toArray = input.split("=");
  18. String[] IpLooking = toArray[1].split("\\s+");
  19.  
  20. String IP = IpLooking[0];
  21. String userName = toArray[3];
  22.  
  23. usersAndIP.putIfAbsent(userName, new LinkedHashSet<>());
  24.  
  25. usersAndIP.get(userName).add(IP);
  26. countRepeatIP.putIfAbsent(IP, 0);
  27. countRepeatIP.put(IP, countRepeatIP.get(IP) + 1);
  28. }
  29. for (Map.Entry<String, Set<String>> entry : usersAndIP.entrySet()) {
  30. String user = entry.getKey();
  31. System.out.println(user + ": ");
  32.  
  33. Object[] SetToArray = entry.getValue().toArray(); //convert Set to Array
  34. for (int i = 0; i < SetToArray.length; i++) {
  35. if (i < SetToArray.length - 1) {
  36. System.out.print(SetToArray[i] + " => " + countRepeatIP.get(SetToArray[i]) + ", ");
  37. } else {
  38. System.out.print(SetToArray[i] + " => " + countRepeatIP.get(SetToArray[i]) + ".");
  39. }
  40. }
  41. System.out.println();
  42.  
  43.  
  44. }
  45.  
  46. }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement