more changes
[IRC.git] / Robust / src / Analysis / Pointer / MySet.java
1 package Analysis.Pointer;
2 import java.util.*;
3
4 public class MySet<T> extends AbstractSet<T> {
5   HashMap<T,T> map;
6   public MySet() {
7     map=new HashMap<T,T>();
8   }
9
10   public MySet(MySet base) {
11     map=new HashMap<T,T>();
12     addAll(base);
13   }
14
15   public int size() {
16     return map.size();
17   }
18
19   public void clear() {
20     map.clear();
21   }
22
23   public boolean remove(Object obj) {
24     return map.remove(obj)!=null; 
25   }
26   
27   public boolean add(T obj) {
28     return map.put(obj, obj)==null;
29   }
30
31   public boolean contains(Object obj) {
32     return map.containsKey(obj);
33   }
34
35   public T get(T obj) {
36     return map.get(obj);
37   }
38
39   public boolean isEmpty() {
40     return map.isEmpty();
41   }
42   
43   public Iterator<T> iterator() {
44     return map.keySet().iterator();
45   }
46
47   public Object clone() {
48     MySet<T> cl=new MySet<T>();
49     cl.map.putAll(this.map);
50     return cl;
51   }
52 }