1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.mina.util;
20
21 import java.util.AbstractSet;
22 import java.util.IdentityHashMap;
23 import java.util.Iterator;
24 import java.util.Map;
25 import java.util.Set;
26
27 /***
28 * An {@link IdentityHashMap}-backed {@link Set}.
29 *
30 * @author The Apache Directory Project (dev@directory.apache.org)
31 * @version $Rev: 357871 $, $Date: 2005-12-20 10:56:40 +0900 (Tue, 20 Dec 2005) $
32 */
33 public class IdentityHashSet extends AbstractSet
34 {
35 private final Map delegate = new IdentityHashMap();
36
37 public IdentityHashSet()
38 {
39 }
40
41 public int size()
42 {
43 return delegate.size();
44 }
45
46 public boolean contains( Object o )
47 {
48 return delegate.containsKey( o );
49 }
50
51 public Iterator iterator()
52 {
53 return delegate.keySet().iterator();
54 }
55
56 public boolean add( Object arg0 )
57 {
58 return delegate.put( arg0, Boolean.TRUE ) == null;
59 }
60
61 public boolean remove( Object o )
62 {
63 return delegate.remove( o ) != null;
64 }
65
66 public void clear()
67 {
68 delegate.clear();
69 }
70 }