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

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

1.package collection.lession13;2.3.import java.util.Hashtable;4.5./**6. * 老紫竹JAVA提高教程(13)-认识Map之Hashtable7. * 这个类继承自一个已经过期不推荐使用的Dictionary类8. * 目前均推荐实现Map接口9. *10. *11. * @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的默认容量为1623. // 他们的加载因子都是0.7524. 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为null43. // 其它的操作,和HashMap区别不大,就不再多写了。44.45. }46.}47.

总结:

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

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

她是应该难过的往回走,还是蹲下来哭泣?

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

相关文章:

你感兴趣的文章:

标签云: