Advertisement
teodor_deks

On The Way To Annapurna

Mar 31st, 2020
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.97 KB | None | 0 0
  1. import java.util.*;
  2. import java.util.stream.Collectors;
  3.  
  4. public class OnTheWayToAnnapurna02 {
  5.     public static void main(String[] args) {
  6.         Scanner sc = new Scanner(System.in);
  7.  
  8.         LinkedHashMap<String, List<String>> storesAndItems = new LinkedHashMap<>();
  9.  
  10.         String input = sc.nextLine();
  11.         while (!input.equals("END")) {
  12.  
  13.             String[] tokens = input.split("->");
  14.             String store = tokens[1];
  15.             String commands = tokens[0];
  16.  
  17.             switch (commands) {
  18.                 case "Add": {
  19.                     String item = tokens[2];
  20.                     List<String> items = Arrays.stream(tokens[2].split(","))
  21.                             .collect(Collectors.toList());
  22.                     if (!storesAndItems.containsKey(store)) {
  23.                         storesAndItems.put(store, items);
  24.                     } else {
  25.                         storesAndItems.get(store).add(item);
  26.                     }
  27.                 }
  28.                 break;
  29.                 case "Remove":
  30.                     if (storesAndItems.size() < 2)
  31.                         break;
  32.  
  33.                     String toRemove = tokens[1];
  34.                     storesAndItems.remove(toRemove);
  35.                     break;
  36.             }
  37.             input = sc.nextLine();
  38.         }
  39.         System.out.println("Stores list:");
  40.         storesAndItems
  41.                 .entrySet()
  42.                 .stream()
  43.                 .sorted((a, b) -> {
  44.                     int result = b.getValue().size() - a.getValue().size();
  45.                     if (result == 0) {
  46.                         result = b.getKey().compareTo(a.getKey());
  47.                     }
  48.                     return result;
  49.                 })
  50.                 .forEach((e) -> {
  51.                     System.out.println(e.getKey());
  52.                     e.getValue()
  53.                             .forEach(value -> System.out.println(String.format("<<%s>>", value)));
  54.                 });
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement