hashmap和hashtable的区别
来源:互联网 发布:linux 删除命令 编辑:程序博客网 时间:2024/06/09 20:47
Hashtable和HashMap类有三个重要的不同之处。
1.主要是历史原因。Hashtable是基于陈旧的Dictionary类的,HashMap是Java1. 2引进的Map接口的一个实现。
2.最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是。这就意味着,虽然可以不用采取任何特殊的行为,就可以在一个多线程的应用程序中用一个Hashtable,但必须同样地为一个HashMap提供外同步。一个方便的方法就是利用Collections类的静态的synchronizedMap()方法,它创建一个线程安全的Map对象,并把它作为一个封装的对象来返回。这个对象的方法可以同步访问潜在的HashMap。结果就是当不需要同步时,不能切 断Hashtable中的同步(比如在一个单线程的应用程序中),而且同步增加了很多处理费用。
3.只有HashMap允许将空值作为一个表的条目的key或value。HashMap中只有一条记录可以是一个空的key,但任意数量的条目可以是空的value。这就是说,如果在表中 没有发现搜索键,或者如果发现了搜索键,但它是一个空的值,那么get()将返回null。如果有必要,用containKey()方法来区别这两种情况。
0 0
- 什么是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的区别
- 【Hibernate】(九)继承映射
- 高中OJ3733. 【Usaco2014Open银组】照相 (非线段树算法)
- canny算子分析(matlab)
- JSP 和 servlet的常见问题
- Linux内核分析方法详解
- hashmap和hashtable的区别
- Unity协程介绍及使用
- A股-进阶-教你如何巧用K线缺口的赚钱攻略
- Pandas 文本数据方法 slice( )
- 机器学习与大数据面试问题与答题思路
- qml中可以下拉查看的Text
- double型强转int型--向下取整;+0.5实现四舍五入
- 【高中数学】三棱锥体积公式
- Centos7 安装 PHP7最新版