Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.*;
- public class SETS {
- public static void main(String[] args) throws ArithmeticException, IOException
- {
- BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
- // String[] s = reader.toString().split(" ");
- TreeMap<String,ArrayList> v = new TreeMap<>();
- boolean ex = true;
- while (ex){
- String[] s = reader.readLine().toString().split(" ");
- long time = 0,endTime=0;
- switch (s[0]){
- case "new":
- v.put(s[1],new ArrayList());
- System.out.println("Set created");
- break;
- case "add":
- if (v.containsKey(s[1])){
- v.get(s[1]).add(s[2]);
- System.out.println("Element added");}
- else {
- System.out.println("Set is not presented");
- }
- break;
- case "addAll":
- if (v.containsKey(s[1])){
- String[] p= s[2].split(":");
- for (String q : p)
- {
- v.get(s[1]).add(q);
- }
- System.out.println("Elements added");}
- else {
- System.out.println("Set is not presented");
- }
- break;
- case "del": //от тут 2 варианта del
- if (s.length==3)
- {v.get(s[1]).remove(s[2]);
- System.out.println("Element deleted");}
- else
- {
- v.remove(s[1]);
- System.out.println("Set deleted");}
- break;
- case "union":
- if (s.length==4)
- v.put(s[3],union(v.get(s[1]),v.get(s[2])));
- else System.out.println(union(v.get(s[1]),v.get(s[2])));
- break;
- case "intersec":
- if (s.length==4)
- v.put(s[3],intersect(v.get(s[1]),v.get(s[2])));
- else System.out.println(intersect(v.get(s[1]),v.get(s[2])));
- break;
- case "diff":
- if (s.length==4)
- v.put(s[3],difference(v.get(s[1]),v.get(s[2])));
- else System.out.println(difference(v.get(s[1]),v.get(s[2])));
- break;
- case "simmdiff":
- if (s.length==4)
- v.put(s[3],simmDifference(v.get(s[1]),v.get(s[2])));
- else System.out.println(simmDifference(v.get(s[1]),v.get(s[2])));
- break;
- case "show":
- System.out.println(s[1] + " = " + v.get(s[1]));
- break;
- case "showall":
- for (Map.Entry<String,ArrayList> e: v.entrySet())
- {
- System.out.println(e.getKey() + " = " + e.getValue());
- }
- break;
- case "exit":
- ex = false;
- break;
- case "isin":
- if (v.get(s[1]).contains(s[2]))
- System.out.println("Element exists");
- else System.out.println("Element does not exists");
- break;
- case "contains":
- if(v.get(s[1]).containsAll(v.get(s[2])))
- System.out.println("Set contains");
- else System.out.println("Set does not contains");
- break;
- case "exist":
- if(v.containsKey(s[1]))
- System.out.println("Set exists");
- else System.out.println("Set does not exists");
- break;
- case "tic":
- time = System.currentTimeMillis();
- break;
- case "toc":
- endTime = System.currentTimeMillis();
- System.out.println(endTime-time);
- break;
- default: System.out.println("Incorrect entry,please type in accordance with the task");
- }
- }
- }
- public static ArrayList<String> union(ArrayList<String> a,ArrayList<String> b){
- ArrayList<String> tmp = new ArrayList<String>(a);
- tmp.addAll(b);
- return tmp;
- }
- public static ArrayList<String> intersect(ArrayList<String> a,ArrayList<String> b){
- ArrayList<String> tmp = new ArrayList<String>();
- for (String x : a)
- if (b.contains(x))
- tmp.add(x);
- return tmp;
- }
- public static ArrayList<String> difference(ArrayList<String> a,ArrayList<String> b){
- ArrayList<String> tmp = new ArrayList<String>(a);
- tmp.removeAll(b);
- return tmp;
- }
- public static ArrayList<String> simmDifference(ArrayList<String> a,ArrayList<String> b){
- ArrayList<String> tmpA = new ArrayList<String>();
- ArrayList<String> tmpB = new ArrayList<String>();
- tmpA = union(a,b);
- tmpB = intersect(a,b);
- return difference(tmpA,tmpB);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement