本文是转贴,著作权归原作者所有! |
Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类 2.HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。HashMap允许key值只能由一个null值,因为hashmap如果key值相同,新的key, value将替代久的。 3.HashTable有一个contains(Object value),功能和containsValue(Object value)功能一样。 4.HashTable使用Enumeration,HashMap使用Iterator。 以上只是表面的不同,它们的实现也有很大的不同。 5.HashTable中hash数组默认大小是11,增加的方式是 old*2+1。HashMap中hash数组的默认大小是16,而且一定是2的指数。 6.哈希值的使用不同,HashTable直接使用对象的hashCode,代码是这样的: static int hash(Object x) { h += ~(h << 9); public boolean add(Object o) { return map.put(o, PRESENT)==null;
|
HashMap,HashTable,HashSet区别
最新推荐文章于 2024-03-07 13:16:27 发布
