Advertisement
Guest User

On the way to Annapurna

a guest
Dec 5th, 2019
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.49 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.LinkedHashMap;
  3. import java.util.List;
  4. import java.util.Map;
  5. import java.util.Scanner;
  6.  
  7. public class P2 {
  8.     public static void main(String[] args) {
  9.  
  10.         Scanner sc = new Scanner(System.in);
  11.  
  12.         Map<String, List<String>> notes = new LinkedHashMap<>();
  13.  
  14.         String line = "";
  15.  
  16.         while (!"END".equals(line = sc.nextLine())) {
  17.             String[] tokens = line.split("->");
  18.             String command = tokens[0];
  19.             String store = tokens[1];
  20.  
  21.             switch (command) {
  22.             case "Add":
  23.                 if (!tokens[2].contains(",")) {
  24.                     String item = tokens[2];
  25.                     if (!notes.containsKey(store)) {
  26.                         notes.put(store, new ArrayList<>());
  27.                     }
  28.                     notes.get(store).add(item);
  29.                 } else {
  30.                     String[] items = tokens[2].split(",");
  31.  
  32.                     for (int i = 0; i < items.length; i++) {
  33.                         if (!notes.containsKey(store)) {
  34.                             notes.put(store, new ArrayList<>());
  35.                         }
  36.                         notes.get(store).add(items[i]);
  37.                     }
  38.                 }
  39.                 break;
  40.             case "Remove":
  41.                 if (notes.containsKey(store)) {
  42.                     notes.remove(store);
  43.                 }
  44.                 break;
  45.             }
  46.         }
  47.  
  48.         System.out.println("Stores list:");
  49.  
  50.         notes.entrySet().stream().sorted((m1, m2) -> {
  51.             int sort = Integer.compare(m2.getValue().size(), m1.getValue().size());
  52.  
  53.             if (sort == 0) {
  54.                 sort = m2.getKey().compareTo(m1.getKey());
  55.             }
  56.             return sort;
  57.         }).forEach(e -> {
  58.             System.out.println(e.getKey());
  59.             for (String item : e.getValue()) {
  60.                 System.out.println(String.format("<<%s>>", item));
  61.             }
  62.         });
  63.     }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement