Untitled

 avatar
unknown
java
3 years ago
2.2 kB
4
Indexable
class SetTesting
{
    public Set<Integer> subtract(Set<Integer> a, Set<Integer> b){
        Map<Integer, Boolean> count = new HashMap<>();
        for(Integer itr : b){
            count.put(itr, true);
        }
        Set<Integer> ans = new HashSet<>();
        for(Integer itr : a){
            if(!count.containsKey(itr)){
                ans.add(itr);
            }
        }
        return ans;
    }
    public Set<Integer> union(Set<Integer> a, Set<Integer> b){
        Map<Integer, Boolean> count = new HashMap<>();
        Set<Integer> ans = new HashSet<>();
        for(Integer itr : a){
            count.put(itr, true);
            ans.add(itr);
        }
        for(Integer itr : b){
            if(!count.containsKey(itr)){
                ans.add(itr);
            }
        }
        return ans;
    }

    public Set<Integer> intersect(Set<Integer> a, Set<Integer> b){
        Map<Integer, Boolean> count = new HashMap<>();
        Set<Integer> ans = new HashSet<>();
        for(Integer itr : a){
            count.put(itr, true);
        }
        for(Integer itr : b){
            if(count.containsKey(itr)){
                ans.add(itr);
            }
        }
        return ans;
    }

    public static void main(String[] args){
        Set<Integer> a = new HashSet<>();
        Set<Integer> b = new HashSet<>();

        a.add(1);
        a.add(2);
        a.add(3);
        a.add(4);
        b.add(2);
        b.add(4);
        b.add(6);
        b.add(8);

        SetTesting test = new SetTesting();
        Set<Integer> ans1 = test.subtract(a,b);
        Set<Integer> ans2 = test.union(a,b);
        Set<Integer> ans3 = test.intersect(a,b);

        System.out.println("Subtract : ");
        for(Integer ans : ans1){
            System.out.print(ans + " ");
        }
        System.out.println();
        System.out.println("Union : ");
        for(Integer ans : ans2){
            System.out.print(ans + " ");
        }
        System.out.println();
        System.out.println("Intersect : ");
        for(Integer ans : ans3){
            System.out.print(ans + " ");
        }
        System.out.println();


    }

}
Editor is loading...