map 效率 java_Java中那些map之间的性能比较

本文对比了Java中三种Map实现的性能:TreeMap、HashMap和ConcurrentSkipListMap。在150W数据量的插入和查找测试中,HashMap在插入和查找速度上表现最优,而ConcurrentSkipListMap和TreeMap在查找时接近O(log n),适合有序数据。ConcurrentSkipListMap适合并发访问,范围查询效率高。
摘要由CSDN通过智能技术生成

转载:http://blog.csdn.net/debugingstudy/article/details/12716327

比较Java原生的 3种Map的效率。

1.  TreeMap

2.  HashMap

3.  ConcurrentSkipListMap

模拟150W以内海量数据的插入和查找,通过增加和查找两方面的性能测试,结果如下:

Map类型

插入

查找(在100W数据量中)

10W

50W

100W

150W

0-1W

0-25W

0-50W

Concurrent

SkipListMap

62 ms

227 ms

433 ms

689ms

7 ms

80 ms

119 ms

HashMap

18 ms

93 ms

217 ms

303ms

2 ms

13 ms

45 ms

TreeMap

33 ms

228 ms

429 ms

584 ms

4ms

34 ms

61 ms

图1- 1常数和logn函数效率对比示例图(横轴-n数据量,纵轴-f(n)时间)

TreeMap基于红黑树(一种自平衡二叉查找树)实现的,时间复杂度平均能达到O(log n)。

HashMap是基于散列表实现的,时间复杂度平均能达到O(1)。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值