随笔 - 299  文章 - 0  评论 - 0  阅读 - 6322 

5.2.4 TreeMap和HashMap的区别
TreeMap 和 HashMap 底层实现逻辑不同,所以插入时间、删除时间、插入方法等都不相同。两者均为线程不安全(Hashmap有一个线程安全版本Hashtable)。

TreeMap HashMap
底层结构 红黑树 数组+链表+红黑树(备注1)
是否有序 关于Key有序 无序
应用场景 key必须能够比较,否则抛出异常 不关心Key是否有序
查找时间复杂度 O(log2n) O(1)
插入/删除/查找区别 需要进行元素比较 通过哈希函数计算哈希地址
备注1:key(确切说第一组键值对)用数组,相同key的value(第二组键值对往后)用链表。每发生一次hash冲突,链表的长度都会+1,当链表的长度大于特定长度后,会将链表转化为红黑树以提高检索效率。

5.3 其余重要接口和类
5.3.1 Iterator
Iterator:迭代接口

posted on   杨申龙  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示