Advertisement
Guest User

Untitled

a guest
Dec 8th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.54 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.BufferedWriter;
  5. import java.io.IOException;
  6. import java.io.InputStreamReader;
  7. import java.util.*;
  8.  
  9. public class SETS {
  10.     public static void main(String[] args) throws ArithmeticException, IOException
  11.     {
  12.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  13.         // String[] s = reader.toString().split(" ");
  14.         TreeMap<String,ArrayList> v = new TreeMap<>();
  15.         boolean ex = true;
  16.         while (ex){
  17.             String[] s = reader.readLine().toString().split(" ");
  18.             long time = 0,endTime=0;
  19.             switch (s[0]){
  20.  
  21.                 case "new":
  22.  
  23.                     v.put(s[1],new ArrayList());
  24.                     System.out.println("Set created");
  25.                     break;
  26.  
  27.                 case "add":
  28.                     if (v.containsKey(s[1])){
  29.                         v.get(s[1]).add(s[2]);
  30.                         System.out.println("Element added");}
  31.                     else {
  32.                         System.out.println("Set is not presented");
  33.                     }
  34.                     break;
  35.                 case "addAll":
  36.                     if (v.containsKey(s[1])){
  37.                         String[] p= s[2].split(":");
  38.                         for (String q : p)
  39.                         {
  40.                             v.get(s[1]).add(q);
  41.                         }
  42.                         System.out.println("Elements added");}
  43.                     else {
  44.                         System.out.println("Set is not presented");
  45.                     }
  46.                     break;
  47.                 case "del": //от тут 2 варианта del
  48.  
  49.                     if (s.length==3)
  50.                     {v.get(s[1]).remove(s[2]);
  51.                         System.out.println("Element deleted");}
  52.                     else
  53.                     {
  54.                         v.remove(s[1]);
  55.                         System.out.println("Set deleted");}
  56.                     break;
  57.                 case "union":
  58.                    if  (s.length==4)
  59.                        v.put(s[3],union(v.get(s[1]),v.get(s[2])));
  60.                     else System.out.println(union(v.get(s[1]),v.get(s[2])));
  61.                     break;
  62.                 case "intersec":
  63.                     if  (s.length==4)
  64.                         v.put(s[3],intersect(v.get(s[1]),v.get(s[2])));
  65.                     else System.out.println(intersect(v.get(s[1]),v.get(s[2])));
  66.                     break;
  67.                 case "diff":
  68.                     if  (s.length==4)
  69.                         v.put(s[3],difference(v.get(s[1]),v.get(s[2])));
  70.                     else System.out.println(difference(v.get(s[1]),v.get(s[2])));
  71.                     break;
  72.                 case "simmdiff":
  73.                     if  (s.length==4)
  74.                         v.put(s[3],simmDifference(v.get(s[1]),v.get(s[2])));
  75.                     else System.out.println(simmDifference(v.get(s[1]),v.get(s[2])));
  76.                     break;
  77.                 case "show":
  78.                     System.out.println(s[1] + " = " + v.get(s[1]));
  79.                     break;
  80.                 case "showall":
  81.                     for (Map.Entry<String,ArrayList> e: v.entrySet())
  82.                     {
  83.                         System.out.println(e.getKey() + " = " + e.getValue());
  84.                     }
  85.                     break;
  86.                 case "exit":
  87.  
  88.                     ex = false;
  89.                     break;
  90.  
  91.                 case "isin":
  92.                     if (v.get(s[1]).contains(s[2]))
  93.                         System.out.println("Element exists");
  94.                     else System.out.println("Element does not exists");
  95.                     break;
  96.                 case "contains":
  97.                     if(v.get(s[1]).containsAll(v.get(s[2])))
  98.                         System.out.println("Set contains");
  99.                        else System.out.println("Set does not contains");
  100.                     break;
  101.                 case "exist":
  102.                     if(v.containsKey(s[1]))
  103.                         System.out.println("Set exists");
  104.                     else System.out.println("Set does not exists");
  105.                     break;
  106.                 case "tic":
  107.                     time = System.currentTimeMillis();
  108.  
  109.                     break;
  110.                 case "toc":
  111.                     endTime = System.currentTimeMillis();
  112.                     System.out.println(endTime-time);
  113.                     break;
  114.                 default: System.out.println("Incorrect entry,please type in accordance with the task");
  115.             }
  116.         }
  117.  
  118.     }
  119.     public static ArrayList<String> union(ArrayList<String> a,ArrayList<String> b){
  120.         ArrayList<String> tmp = new ArrayList<String>(a);
  121.         tmp.addAll(b);
  122. return tmp;
  123.     }
  124.     public static ArrayList<String> intersect(ArrayList<String> a,ArrayList<String> b){
  125.         ArrayList<String> tmp = new ArrayList<String>();
  126.         for (String  x : a)
  127.             if (b.contains(x))
  128.                 tmp.add(x);
  129. return tmp;
  130.     }
  131.     public static ArrayList<String> difference(ArrayList<String> a,ArrayList<String> b){
  132.         ArrayList<String> tmp = new ArrayList<String>(a);
  133.         tmp.removeAll(b);
  134. return tmp;
  135.     }
  136.     public static ArrayList<String> simmDifference(ArrayList<String> a,ArrayList<String> b){
  137.         ArrayList<String> tmpA = new ArrayList<String>();
  138.         ArrayList<String> tmpB = new ArrayList<String>();
  139.         tmpA = union(a,b);
  140.         tmpB = intersect(a,b);
  141. return difference(tmpA,tmpB);
  142.     }
  143. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement