哈希表将键/值对存储在哈希表中。使用哈希表时,可以指定用作键的对象,以及要链接到该键的值。然后对键进行哈希处理,并将生成的哈希码用作将值存储在表中的索引。
Hashtable定义以下方法-
序号 | 方法与说明 |
---|---|
1 | void clear() 重置并清空哈希表。 |
2 | Object clone() 返回调用对象的副本。 |
3 | boolean contains(Object value) 如果哈希表中存在等于该值的值,则返回true。如果找不到该值,则返回false。 |
4 | boolean containsKey(Object key) 如果哈希表中存在与该键相等的键,则返回true。如果找不到键,则返回false。 |
5 | boolean containsValue(Object value) 如果哈希表中存在与该值相等的值,则返回true。如果找不到该值,则返回false。 |
6 | 枚举elements() 返回哈希表中包含的值的枚举。 |
7 | Object get(Object key) 返回包含与键关联的值的对象。如果键不在哈希表中,则返回空对象。 |
8 | boolean isEmpty() 如果哈希表为空,则返回true;否则,返回true。如果包含至少一个键,则返回false。 |
9 | 枚举keys() 返回哈希表中包含的键的枚举。 |
10 | Object put(Object key,Object value)将 一个键和一个值插入哈希表。如果该键尚未在哈希表中,则返回null;否则返回null。如果键已经在哈希表中,则返回与该键关联的先前值。 |
让我们看一个实现Hashtable的例子-
import java.util.*; public class Demo { public static void main(String args[]) { Hashtable balance = new Hashtable(); Enumeration names; String str; double bal; balance.put("Jacob", new Double(3434.34)); balance.put("Ryan", new Double(123.22)); balance.put("Nathan", new Double(1378.00)); balance.put("Ken", new Double(99.22)); balance.put("Kevin", new Double(-19.08)); //在哈希表中显示所有余额。 names = balance.keys(); while(names.hasMoreElements()) { str = (String) names.nextElement(); System.out.println(str + ": " + balance.get(str)); } System.out.println(); //将1,000存入Nathan的帐户 bal = ((Double)balance.get("Nathan")).doubleValue(); balance.put("Nathan", new Double(bal + 1000)); System.out.println("Nathan's new balance: " + balance.get("Nathan")); } }
输出结果
Ken: 99.22 Nathan: 1378.0 Jacob: 3434.34 Ryan: 123.22 Kevin: -19.08 Nathan's new balance: 2378.0