package java.util; public class Hashtable implements Map { private final HashMap map; public Hashtable(int capacity) { map = new HashMap(capacity); } public Hashtable() { this(0); } public synchronized int size() { return map.size(); } public synchronized boolean containsKey(K key) { return map.containsKey(key); } public synchronized boolean containsValue(V value) { return map.containsValue(value); } public synchronized V get(K key) { return map.get(key); } public synchronized V put(K key, V value) { return map.put(key, value); } public synchronized V remove(K key) { return map.remove(key); } public synchronized void clear() { map.clear(); } public Enumeration keys() { return new Collections.IteratorEnumeration(keySet().iterator()); } public Enumeration elements() { return new Collections.IteratorEnumeration(values().iterator()); } public Set> entrySet() { return new Collections.SynchronizedSet(this, map.entrySet()); } public Set keySet() { return new Collections.SynchronizedSet(this, map.keySet()); } public Collection values() { return new Collections.SynchronizedCollection(this, map.values()); } }