Java中的哈希表

哈希表将键/值对存储在哈希表中。使用哈希表时,可以指定用作键的对象,以及要链接到该键的值。然后对键进行哈希处理,并将生成的哈希码用作将值存储在表中的索引。

Hashtable定义以下方法-

序号方法与说明
1void clear()
重置并清空哈希表。
2Object clone()
返回调用对象的副本。
3boolean contains(Object value)
如果哈希表中存在等于该值的值,则返回true。如果找不到该值,则返回false。
4boolean containsKey(Object key)
如果哈希表中存在与该键相等的键,则返回true。如果找不到键,则返回false。
5boolean containsValue(Object value)
如果哈希表中存在与该值相等的值,则返回true。如果找不到该值,则返回false。
6枚举elements()
返回哈希表中包含的值的枚举。
7Object get(Object key)
返回包含与键关联的值的对象。如果键不在哈希表中,则返回空对象。
8boolean isEmpty()
如果哈希表为空,则返回true;否则,返回true。如果包含至少一个键,则返回false。
9枚举keys()
返回哈希表中包含的键的枚举。
10Object 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