1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
/* * @(#)Dictionary.java 1.24 05/11/17 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package java.util; /** * The <code>Dictionary</code> class is the abstract parent of any * class, such as <code>Hashtable</code>, which maps keys to values. * Every key and every value is an object. In any one <tt>Dictionary</tt> * object, every key is associated with at most one value. Given a * <tt>Dictionary</tt> and a key, the associated element can be looked up. * Any non-<code>null</code> object can be used as a key and as a value. * <p> * As a rule, the <code>equals</code> method should be used by * implementations of this class to decide if two keys are the same. * <p> * <strong>NOTE: This class is obsolete. New implementations should * implement the Map interface, rather than extending this class.</strong> * * @author unascribed * @version 1.24, 11/17/05 * @see java.util.Map * @see java.lang.Object#equals(java.lang.Object) * @see java.lang.Object#hashCode() * @see java.util.Hashtable * @since JDK1.0 */ public abstract class Dictionary<K,V> { /** * Sole constructor. (For invocation by subclass constructors, typically * implicit.) */ public Dictionary() { } /** * Returns the number of entries (distinct keys) in this dictionary. * * @return the number of keys in this dictionary. */ abstract public int size(); /** * Tests if this dictionary maps no keys to value. The general contract * for the <tt>isEmpty</tt> method is that the result is true if and only * if this dictionary contains no entries. * * @return <code>true</code> if this dictionary maps no keys to values; * <code>false</code> otherwise. */ abstract public boolean isEmpty(); /** * Returns an enumeration of the keys in this dictionary. The general * contract for the keys method is that an <tt>Enumeration</tt> object * is returned that will generate all the keys for which this dictionary * contains entries. * * @return an enumeration of the keys in this dictionary. * @see java.util.Dictionary#elements() * @see java.util.Enumeration */ abstract public Enumeration<K> keys(); /** * Returns an enumeration of the values in this dictionary. The general * contract for the <tt>elements</tt> method is that an * <tt>Enumeration</tt> is returned that will generate all the elements * contained in entries in this dictionary. * * @return an enumeration of the values in this dictionary. * @see java.util.Dictionary#keys() * @see java.util.Enumeration */ abstract public Enumeration<V> elements(); /** * Returns the value to which the key is mapped in this dictionary. * The general contract for the <tt>isEmpty</tt> method is that if this * dictionary contains an entry for the specified key, the associated * value is returned; otherwise, <tt>null</tt> is returned. * * @return the value to which the key is mapped in this dictionary; * @param key a key in this dictionary. * <code>null</code> if the key is not mapped to any value in * this dictionary. * @exception NullPointerException if the <tt>key</tt> is <tt>null</tt>. * @see java.util.Dictionary#put(java.lang.Object, java.lang.Object) */ abstract public V get(Object key); /** * Maps the specified <code>key</code> to the specified * <code>value</code> in this dictionary. Neither the key nor the * value can be <code>null</code>. * <p> * If this dictionary already contains an entry for the specified * <tt>key</tt>, the value already in this dictionary for that * <tt>key</tt> is returned, after modifying the entry to contain the * new element. <p>If this dictionary does not already have an entry * for the specified <tt>key</tt>, an entry is created for the * specified <tt>key</tt> and <tt>value</tt>, and <tt>null</tt> is * returned. * <p> * The <code>value</code> can be retrieved by calling the * <code>get</code> method with a <code>key</code> that is equal to * the original <code>key</code>. * * @param key the hashtable key. * @param value the value. * @return the previous value to which the <code>key</code> was mapped * in this dictionary, or <code>null</code> if the key did not * have a previous mapping. * @exception NullPointerException if the <code>key</code> or * <code>value</code> is <code>null</code>. * @see java.lang.Object#equals(java.lang.Object) * @see java.util.Dictionary#get(java.lang.Object) */ abstract public V put(K key, V value); /** * Removes the <code>key</code> (and its corresponding * <code>value</code>) from this dictionary. This method does nothing * if the <code>key</code> is not in this dictionary. * * @param key the key that needs to be removed. * @return the value to which the <code>key</code> had been mapped in this * dictionary, or <code>null</code> if the key did not have a * mapping. * @exception NullPointerException if <tt>key</tt> is <tt>null</tt>. */ abstract public V remove(Object key); }