Advertisement
Lyubohd

03. Inbox Manager

Mar 26th, 2020
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.07 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.HashMap;
  3. import java.util.Scanner;
  4.  
  5. public class Main {
  6.     public static void main(String[] args) {
  7.         Scanner scan = new Scanner(System.in);
  8.         HashMap<String, ArrayList<String>> users = new HashMap<>();
  9.  
  10.         String input = scan.nextLine();
  11.         while (!"Statistics".equals(input)) {
  12.             String[] tokens = input.split("->");
  13.             String command = tokens[0];
  14.             String username = tokens[1];
  15.  
  16.             switch (command) {
  17.                 case "Add":
  18.                     if (users.containsKey(username)) {
  19.                         System.out.println(String.format("%s is already registered", username));
  20.                     } else {
  21.                         users.put(username, new ArrayList<>());
  22.                     }
  23.                     break;
  24.                 case "Send":
  25.                     String email = tokens[2];
  26.                     ArrayList<String> emails = users.get(username);
  27.                     emails.add(email);
  28.                     break;
  29.                 case "Delete":
  30.                     if (users.containsKey(username)) {
  31.                         users.remove(username);
  32.                     } else {
  33.                         System.out.println(String.format("%s not found!", username));
  34.                     }
  35.                     break;
  36.             }
  37.  
  38.             input = scan.nextLine();
  39.         }
  40.  
  41.         System.out.println(String.format("Users count: %d", users.size()));
  42.         users
  43.                 .entrySet()
  44.                 .stream()
  45.                 .sorted((u1, u2) -> {
  46.                     int result = u2.getValue().size() - u1.getValue().size();
  47.                     if (result == 0) { // Ния
  48.                         result = u1.getKey().compareTo(u2.getKey());
  49.                     }
  50.                     return result;
  51.                 })
  52.                 .forEach(u -> {
  53.                     System.out.println(u.getKey());
  54.                     u.getValue().forEach(e -> System.out.println(String.format(" - %s", e)));
  55.                 });
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement