老紫竹JAVA提高教程(13)-认识Map之Hashtable

 
这个类,在使用上和HashMap的区别不大,其方法都是同步的(Synchronized).
  1. package collection.lession13;
  2. import java.util.Hashtable;
  3. /**
  4.  * 老紫竹JAVA提高教程(13)-认识Map之Hashtable<br>
  5.  * 这个类继承自一个已经过期不推荐使用的Dictionary类<br>
  6.  * 目前均推荐实现Map接口<br>
  7.  * 
  8.  * 
  9.  * @author 老紫竹 JAVA世纪网(java2000.net)
  10.  * 
  11.  */
  12. public class Lession13Hashtable {
  13.   public static void main(String[] args) {
  14.     // Hashtable的默认容量为11 ,从源代码可以清楚的看到
  15.     // public Hashtable() {
  16.     // this(11, 0.75f);
  17.     // }
  18.     // 而 HashMap的默认容量为16
  19.     // 他们的加载因子都是0.75
  20.     Hashtable ht = new Hashtable();
  21.     // 我们先测试一下是否允许key为null;
  22.     try {
  23.       ht.put(null"测试null的键");
  24.       System.out.println("OK! Hashtable 允许key为null");
  25.     } catch (NullPointerException ex) {
  26.       System.out.println("ERROR! Hashtable 不允许key为null");
  27.     }
  28.     // 我们再先测试一下是否允许value为null;
  29.     try {
  30.       ht.put("测试null的值"null);
  31.       System.out.println("OK! Hashtable 允许value为null");
  32.     } catch (NullPointerException ex) {
  33.       System.out.println("ERROR! Hashtable 不允许value为null");
  34.     }
  35.     // 从测试接口可以看到,Hashtable不允许key或者value为null
  36.     // 其它的操作,和HashMap区别不大,就不再多写了。
  37.     
  38.   }
  39. }
总结:
    如果你前面熟悉了HashMap,那么你可以简单的把Hashtable看成不允许null的同步的HashMap就行了。
内部虽然有一些不同,但对于普通的使用来说,影响不大,可以忽略。

你可能感兴趣的:(java,String,HashMap,测试,null,Dictionary)