hashmap和hashtable的区别(修正版)

hashmap和hashtable的区别(修正版)

ID:14265316

大小:48.00 KB

页数:3页

时间:2018-07-27

hashmap和hashtable的区别(修正版)_第1页
hashmap和hashtable的区别(修正版)_第2页
hashmap和hashtable的区别(修正版)_第3页
资源描述:

《hashmap和hashtable的区别(修正版)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、HashMap和Hashtable的区别(网上流传版本的修正版)尽信书不如无书,我今天在看网上的一些资料的时候发现一遍篇《HashMap和Hashtable的区别》的文章,随手就在Eclipse里实验了一下,结果发现很多原来文章中的错误,现在把这个问题修改好以后贴在这里,希望对大家的学习也有帮助。HashMap和Hashtable的区别。错误说法:1.   HashTable不允许null值(key和value都不可以),HashMap允许null值(key

2、和value都可以)。这句话容易让人误会,到底是怎么个不允许法呢?其实在编译期不会有任何的不一样,会照样执行,只是在运行期的时候Hashtable中设置的话回出现空指针异常2.   在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某

3、个键,而应该用containsKey()方法来判断。不用多说,看下面的程序就可以:HashMapmap=newHashMap();      map.put("Null",null);      map.put(null,"Null");      map.put(null,"Empty");      System.out.println(map.get(null));      System.out.println(map.get("Null"));      System.out.println(map.get("NullTh

4、ere"));      System.out.println(map.containsKey("Null"));System.out.println(map.containsKey("NullThere"));  输出结果为:Emptynullnulltruefalse   HashMapHashtable继承,实现HashMap   extendsAbstractMap   implementsMap,Cloneable,Serializab

5、leHashtable   extendsDictionary   implementsMap,Cloneable,Serializable多线程,同步未同步的,可以使用Colletcions进行同步Map Collections.synchronizedMap(Map m)已经同步过的可以安全使用对null的处理HashMapmap=newHashMap();map.put(null,"Null");map.put("Null",null);map.containsKey(null);map.cont

6、ainsValue(null);以上这5条语句无论在编译期,还是在运行期都是没有错误的.在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键,而应该用containsKey()方法来判断。Hashtabletable=newHashtable();table.put(null,"Null");table.

7、put("Null",null);table.contains(null);table.containsKey(null);table.containsValue(null);后面的5句话在编译的时候不会有异常,可在运行的时候会报空指针异常具体原因可以查看源代码publicsynchronizedVput(Kkey,Vvalue){    //Makesurethevalueisnotnull    if(value==null){       thrownewNullPointerException();    }………….增长率

8、voidaddEntry(inthash,Kkey,Vvalue,intbucketIndex){     Entrye=table[bucketIndex];       table[bucketIndex]=newEnt

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。