Map

HashMap  null可以作为键、值保存。Hashtable不行。HashMap.get()返回null既可以表示key不存在,也可以表示key对应值为null.Hashtable.get()返回null表示不存在key。

HashMap线程不安全  Hashtable线程安全。put、get、remove、containsKey、contains...方法上面都加了synchronized。但是对于混合使用时就不是线程安全的了。如:

if(table.contains(key)){
   table.remove(key);
 }

如果您要按自然顺序或自定义顺序遍历键,那么TreeMap会更好

ConcurrentHashMap默认分为16个桶。可以16个线程同时执行写、删等常规操作。

他的遍历是new一个新的数组。这样iterator既可以使用老的数据。写的线程也可以并发的完成改变。就不会再抛异常了。

 

 

http://www.360doc.com/content/13/0807/16/11947209_305402798.shtml
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值