栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

linkedhashmap,hashmap,map,hashtable之间的区别

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linkedhashmap,hashmap,map,hashtable之间的区别

我怀疑这些差异是否可以比JavaDocs中为这些类编写的更好地解释:

  • Map是所有这些类共有的基本接口
  • 一个Hashtable的是一个实现该接口的,因为当它被认为拥有一切同步是一个好主意(参见“老字号”天矢量)。如果您知道自己在做什么,它将提供“某种”线程安全性。如果您认真考虑可以在多个线程中使用的映射,则应绝对检查
    ConcurrentHashMap
    and
    ConcurrentSkipListMap
  • 一个HashMap中是几乎相同哈希表,但与同步去除。这是首选的通用Map实现。
  • 一个linkedHashMap的额外维护它的条目,这使得维持排序或轻松地使用它作为一个LRU缓存,刚读的JavaDoc的链表。

所有上述

Map
实现都有其基本的get / put操作(摊销) O(1)
时间复杂度。在
null
值的处理上存在细微的差异,不可避免地要检查JavaDoc以获得详细信息。

要了解如何实现这些类,请看一下它们的继承树:

  • Map
    (只是界面)
    • Dictionary
      (过时的抽象类)
    • Hashtable
      (“旧的”地图实现自行运行)
    • AbstractMap
      (“新”地图实现的基本功能)
    • HashMap
      (第一个通用的具体地图实现)
      • linkedHashMap
        HashMap
        通过维护链接列表进行扩展)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/415812.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号