加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

在Java中,哪个是字典数据结构最推荐的类?

发布时间:2020-12-15 01:59:36 所属栏目:Java 来源:网络整理
导读:我需要一个数据结构来存储应该由id检索的用户. 我注意到有几个类实现了Map接口.哪一个应该是我的默认选择?他们似乎都与我相当. 解决方法 可能这取决于您计划拥有多少用户,以及您是否需要订购或仅按ID获取单个商品. HashMap使用哈希代码来存储事物,因此您有
我需要一个数据结构来存储应该由id检索的用户.
我注意到有几个类实现了Map接口.哪一个应该是我的默认选择?他们似乎都与我相当.

解决方法

可能这取决于您计划拥有多少用户,以及您是否需要订购或仅按ID获取单个商品.

HashMap使用哈希代码来存储事物,因此您有持续的put和get操作时间,但项目总是无序的.

TreeMap使用二叉树,因此您有基本操作的log(n)时间,但项目在树中保持有序.

我会使用HashMap,因为它更简单(记得给它一个合适的初始容量).请记住,默认情况下,这些数据结构不会同步,如果您打算在多个线程中使用它,请使用ConcurrentHashMap.

中间方法是LinkedHashMap,它使用与HashMap(hashcode和equals方法)相同的结构,但它还保留了插入地图中的双重链接元素列表(保持插入顺序).这个混合物有订购的项目(按照插入顺序排序,正如评论所建议的那样……准确但我已经指定了这一点)没有TreeMap的性能损失.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读