Advertisement
ilianrusev

Technology Fundamentals Final Exam -14 April 2019 Group I- 2

Apr 14th, 2019
164
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.company;
  2.  
  3. import com.sun.source.tree.WhileLoopTree;
  4.  
  5. import java.util.*;
  6. import java.util.regex.Matcher;
  7. import java.util.regex.Pattern;
  8.  
  9. public class Main {
  10.  
  11.     public static void main(String[] args) {
  12.         Scanner scanner = new Scanner(System.in);
  13.  
  14.         Map<String, List<String>> data = new LinkedHashMap<>();
  15.         String input = "";
  16.  
  17.         System.out.println();
  18.  
  19.         while (!"END".equals(input = scanner.nextLine())){
  20.             String[] splitted = input.split("\\b[-][>]+\\b");
  21.             if (splitted[0].equals("Add")){
  22.                 List<String> items = new ArrayList<>();
  23.                 String[] splitedItems = splitted[2].split("[,]+");
  24.                 Collections.addAll(items,splitedItems);
  25.  
  26.                 data.putIfAbsent(splitted[1],new ArrayList<>());
  27.                 for (int i = 0; i < items.size(); i++) {
  28.  
  29.                         data.get(splitted[1]).add(items.get(i));
  30.  
  31.                 }
  32.  
  33.  
  34.             }else if (splitted[0].equals("Remove")){
  35.                     if (data.containsKey(splitted[1])){
  36.                         data.remove(splitted[1]);
  37.                     }
  38.             }
  39.         }
  40.  
  41.         System.out.println("Stores list:");
  42.  
  43.         data.entrySet()
  44.                 .stream()
  45.                 .sorted((a,b) -> {
  46.                     int sort = Integer.compare(b.getValue().size(), a.getValue().size());
  47.                     if (sort == 0){
  48.                         sort = b.getKey().compareTo(a.getKey());
  49.                     }
  50.                     return sort;
  51.                 }).forEach(e -> {
  52.             System.out.println(String.format("%s",e.getKey()));
  53.             data.get(e.getKey()).forEach(k ->{
  54.                 System.out.printf("<<%s>>\n",k);
  55.             });
  56.         });
  57.  
  58.     }
  59. }
Advertisement
RAW Paste Data Copied
Advertisement