为什么说TreeMap和LinkedHashMap是有序的

TreeMap默认升序,LinkedHashMap则记录了插入顺序

LinkedHashMap采用的hash算法和HashMap相同,但是它重新定义了数组中保存的元素Entry,该Entry除了保存当前对象的引用外,还保存了其上一个元素before和下一个元素after的引用,从而在哈希表的基础上又构成了双向链接列表。这样就能按照插入的顺序遍历原本无序的HashMap。
TreeMap 是一个有序的key-value集合,它是通过红黑树实现的。
(红黑树一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。在我们好理解的二叉查找树上增加了五点要求,以促进树的平衡)
在添加key-value时,会在平衡二叉查找树上查找插入位置插入,然后再根据红黑树树的特性通过左旋右旋等操作调整树结构。读数据时会根据二叉树的中序遍历方式读取数据,此时读取数据即为默认升序数据。

全部评论

相关推荐

哞客37422655...:兄弟别慌!💪 民办本找实习确实难点,但不是没机会。100+简历才2个面试,可能简历需要优化下: 项目经历写具体点,突出测试用例、bug数量等 技能栏把测试工具/方法论写清楚 可以考虑降低预期,先进小厂积累经验 测试岗相对好进,坚持投!现在才半个月,有人投3个月才上岸的😭 加油,offer在路上了🚀
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务