A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 鸭梨的生活 中级黑马   /  2014-5-19 13:12  /  1055 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

.............................................

5 个回复

倒序浏览
加油加油加油。。。。。。。。。
回复 使用道具 举报
有以下三方面:
1.hashMap去掉了HashTable 的contains方法,但是加上了containsValue()和containsKey()方法。
2.hashTable同步的,而HashMap是非同步的,效率上逼hashTable要高。
3.hashMap允许空键值,而hashTable不允许。
回复 使用道具 举报
Hashtable被HashMap替代了  Hashtable过时了,因为是其线程是安全的,所以效率很低不如HashMap
回复 使用道具 举报
最大的不同是,Hashtable的方法是Synchronize(同步)的,而HashMap不是
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值,由于非线程安全,在只有一个线程访问的情况下,效率要高于Hashtable。
回复 使用道具 举报
/*
* HashMap和Hashtable的区别?
* A:HashMap是线程不安全的,效率高。允许使用 null 值和 null 键。
* B:Hashtable是线程安全的,效率低。任何非 null 对象都可以用作键或值。
*/
import java.util.Hashtable;
public class HashtableDemo {
        public static void main(String[] args) {
                // HashMap<String, String> hm = new HashMap<String, String>();

                Hashtable<String, String> hm = new Hashtable<String, String>();

                hm.put("hello", "world");
                // hm.put(null, "haha");// NullPointerException
                // hm.put("xixi", null);// NullPointerException

                System.out.println(hm);
        }
}
//楼主可以通过这段代码,来通过实例了解HashMap和Hashtable的区别
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马