为什么没有ConcurrentTreeMap实现?

老王就是我 2021-03-24 03:29:32
同样是红黑树,为什么hashmap有并发安全类,treeMap就没有,因为tree牌面没有hash高吗?
...全文
888 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
冰思雨 2021-04-08
  • 打赏
  • 举报
回复
引用 楼主 老王就是我 的回复:
同样是红黑树,为什么hashmap有并发安全类,treeMap就没有,因为tree牌面没有hash高吗?
楼主说的对,关键是高并发场景中,几乎用不到 TreeMap 这种结构,如果你的项目中真的需要的话,自己实现一个就好。 JDK 的设计目的,也是为绝大多数程序员的开发作为基础的工具的,不能面面俱到。如果需要其他工具,那就去apache,google等平台上面去找好了,再不行就自己写呗。 高并发的使用场景中,最常用的就是队列,其次才是映射,而映射的使用,也主要是作为数据缓存来使用,Hash 散列当之无愧。
老王就是我 2021-03-24
  • 打赏
  • 举报
回复
引用 2 楼 起名伤脑 的回复:
HashMap基于哈希表实现,TreeMap基于红黑树实现。 HashMap不支持线程的同步,是非线程安全的,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致。如果需要同步,可以用 Collections和synchronizedMap方法使HashMap具有同步能力,或者使用ConcurrentHashMap。
hashMap有红黑树,另外,我也不需要你科普hashmap的线程安全的扩展类
起名伤脑 2021-03-24
  • 打赏
  • 举报
回复
HashMap基于哈希表实现,TreeMap基于红黑树实现。 HashMap不支持线程的同步,是非线程安全的,即任一时刻可以有多个线程同时写HashMap,可能会导致数据的不一致。如果需要同步,可以用 Collections和synchronizedMap方法使HashMap具有同步能力,或者使用ConcurrentHashMap。
码农小王同学 2021-03-24
  • 打赏
  • 举报
回复
不知道 hashmap用的更多?毕竟 hash还有linkedHashMap.

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧