JAVA程序员提高教程(13)-认识Map之Hashtable

    作者:课课家教育更新于: 2016-02-03 13:55:49

    大神带你学编程,欢迎选课

      这个类,在使用上和HashMap的区别不大,其方法都是同步的(Synchronized).

    JAVA程序员提高教程(13)-认识Map之Hashtable_java课程标准_21天学通java_课课家

      1.package collection.lession13;

      2.

      3.import java.util.Hashtable;

      4.

      5./**

      7. * 这个类继承自一个已经过期不推荐使用的Dictionary类

      8. * 目前均推荐实现Map接口

      9. *

      10. *

      12. *

      13. */

      14.public class Lession13Hashtable {

      15.

      16. public static void main(String[] args) {

      17.

      18. // Hashtable的默认容量为11 ,从源代码可以清楚的看到

      19. // public Hashtable() {

      20. // this(11, 0.75f);

      21. // }

      22. // 而 HashMap的默认容量为16

      23. // 他们的加载因子都是0.75

      24. Hashtable ht = new Hashtable();

      25.

      26. // 我们先测试一下是否允许key为null;

      27. try {

      28. ht.put(null, "测试null的键");

      29. System.out.println("OK! Hashtable 允许key为null");

      30. } catch (NullPointerException ex) {

      31. System.out.println("ERROR! Hashtable 不允许key为null");

      32. }

      33.

      34. // 我们再先测试一下是否允许value为null;

      35. try {

      36. ht.put("测试null的值", null);

      37. System.out.println("OK! Hashtable 允许value为null");

      38. } catch (NullPointerException ex) {

      39. System.out.println("ERROR! Hashtable 不允许value为null");

      40. }

      41.

      42. // 从测试接口可以看到,Hashtable不允许key或者value为null

      43. // 其它的操作,和HashMap区别不大,就不再多写了。

      44.

      45. }

      46.}

      47.

      总结:

      如果你前面熟悉了HashMap,那么你可以简单的把Hashtable看成不允许null的同步的HashMap就行了。

      内部虽然有一些不同,但对于普通的使用来说,影响不大,可以忽略。

课课家教育

未登录