TreeMap和HashMap的区别
TreeMap 和 HashMap 底层实现逻辑不同,所以插入时间、删除时间、插入方法等都不相同。两者均为线程不安全(Hashmap有一个线程安全版本Hashtable)。
TreeMap HashMap
底层结构 红黑树 数组+链表+红黑树(备注1)
是否有序 关于Key有序 无序
应用场景 key必须能够比较,否则抛出异常 不关心Key是否有序
查找时间复杂度 O(log2n) O(1)
插入/删除/查找区别 需要进行元素比较 通过哈希函数计算哈希地址
备注1:key(确切说第一组键值对)用数组,相同key的value(第二组键值对往后)用链表。每发生一次hash冲突,链表的长度都会+1,当链表的长度大于特定长度后,会将链表转化为红黑树以提高检索效率。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
2022-12-09 java的继承性