HashMap和Hashtable的区别

2019-02-18  本文已影响0人  reco171

HashMap和Hashtable(ConcurrentHashMap)的区别

  1. HashMap是非synchronized,而Hashtable是synchronized,所以HashMap线程安全的。java5,ConcurrentHashMap代替HashTable
  2. 迭代器不同
    HashMap的迭代器(Iterator)是fail-fast迭代器,同样也是Enumeration和Iterator的区别。主要区别:
    (1) java中的集合类都提供了返回Iterator的方法,就是迭代器,它和Enumeration的主要区别其实就是Iterator可以删除元素,但是Enumration却不能。
    (2)还有一点要注意的就是,使用Iterator来遍历集合时,应使用Iterator的remove()方法来删除集合中的元素,使用集合的remove()方法将抛出ConncurrentModificationException异常。
    Enumeration已经不是主流,Iterator是它的下一代替代品
    参考:
    HashMap和Hashtable的区别
    Enumeration和Iterator的区别
上一篇下一篇

猜你喜欢

热点阅读