HashMap和Hashtable的区别
来源:互联网 发布:七天网络阅卷查分下载 编辑:程序博客网 时间:2024/06/15 19:04
1 HashMap不是线程安全的
hastmap是一个接口 是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许。
2 HashTable是线程安全的一个Collection。
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。 HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。 HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。 Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。 最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。 Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差
public static void main(String args[]) { HashTable h=new HashTable(); h.put("用户1",new Integer(90)); h.put("用户2",new Integer(50)); h.put("用户3",new Integer(60)); h.put("用户4",new Integer(70)); h.put("用户5",new Integer(80)); Enumeration e=h.elements(); while(e.hasMoreElements()){ System.out.println(e.nextElement()); }
总结:
- 什么是HashTable?HashMap和HashTable的区别
- HashTable和HashMap的区别
- HashTable和HashMap的区别
- Hashtable和HashMap的区别
- HashTable和HashMap的区别
- Hashtable和HashMap的区别
- Hashtable和HashMap的区别
- HashTable和HashMap的区别
- HashTable和HashMap的区别
- Hashtable和HashMap的区别
- Hashtable和HashMap的区别
- Hashtable和HashMap的区别
- HashTable和HashMap的区别
- HashMap和Hashtable的区别
- hashtable和hashmap的区别
- hashtable 和 hashmap的区别
- HashTable和HashMap的区别
- HashTable和HashMap的区别
- java抽象类和接口
- SpringMVC上传图片总结(1)---常规方法进行图片上传,使用了MultipartFile、MultipartHttpServletRequest
- dubbo-8 sonaqube代码质量管理的安装和使用
- Android本地数据AES加密,使用AndroidKeyStore
- 极大似然估计和贝叶斯估计
- HashMap和Hashtable的区别
- form表单提交前验证
- 数据倾斜
- linux下 pppoe通过直接设置配置文件方式进行拨号
- vscode 升级1.18遇到Cannot find type definition file for 'node'
- 【Android】Do not requestWindow.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your th
- 【图解】共模干扰,差模干扰
- javascript中的各种事件说明
- python3 安装tensorflow