美文网首页
HashMap和Hashtable的区别

HashMap和Hashtable的区别

作者: reco171 | 来源:发表于2019-02-18 11:22 被阅读0次

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的区别

相关文章

网友评论

      本文标题:HashMap和Hashtable的区别

      本文链接:https://www.haomeiwen.com/subject/jezoeqtx.html