Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.Comparator;
- public class MySet<T>{
- private final int max_size=1024;
- private final ArrayList<Object> mas=new ArrayList<>(max_size);
- public ArrayList<Object> getMas() {
- return mas;
- }
- public int getSize(){
- return mas.size();
- }
- public void add(T elem){
- if(mas.size()==0) mas.add(elem);
- else {
- for (int i = 0; i < mas.size(); i++) {
- if (mas.get(i)==elem) return;
- }
- mas.add(elem);
- }
- }
- public void remove(T elem){
- for(int i=0;i<mas.size();i++){
- if(mas.get(i)==elem) {
- mas.remove(i);
- break;
- }
- }
- }
- public boolean check(T elem){
- for(int i=0;i<mas.size();i++){
- if(mas.get(i)==elem) {
- return true;
- }
- }
- return false;
- }
- public static MySet Union(MySet set1,MySet set2){
- MySet newSet=new MySet<>();
- for(int i=0;i<set1.getSize();i++){
- newSet.add(set1.getMas().get(i));
- }
- for(int i=0;i<set2.getSize();i++){
- newSet.add(set2.getMas().get(i));
- }
- return newSet;
- }
- public static MySet Intersection(MySet set1,MySet set2){
- MySet newSet=new MySet<>();
- for(int i=0;i<set2.getSize();i++){
- if(set1.check(set2.getMas().get(i))) newSet.add(set2.getMas().get(i));
- }
- return newSet;
- }
- public void show(){
- Collections.sort(mas, new Comparator<Object>() {
- public int compare(Object o1, Object o2) {
- return Integer.compare((Integer)o1,(Integer)o2);
- // return o1.toString().compareTo(o2.toString());
- }
- });
- for(int i=0;i<mas.size();i++){
- System.out.println(mas.get(i));
- }
- System.out.println();
- }
- public static void main(String[] args) {
- MySet<Integer> set1=new MySet<>();
- MySet<Integer> set2=new MySet<>();
- set1.add(5);
- set1.add(4);
- set1.add(3);
- set1.add(15);
- set1.show();
- set2.add(9);
- set2.add(11);
- set2.add(15);
- set2.add(3);
- set2.show();
- MySet.Union(set1,set2).show();
- MySet.Intersection(set1,set2).show();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment