在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的性能损失. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |