惊呆面试官的回答:HashMap和TreeMap的区别

​ 前几天,有一位粉丝在直播间问了我这样一个问题,说HashMap和TreeMap有什么区别。今天,我给大家分享一下我的理解。

1、两者区别

我们知道不管是HashMap还是TreeMap,都是通过对象来对对象进行索引的Map集合。我们把用来索引的对象叫做Key,而索引对应的对象叫做Value。这就是我们平时说的键值对。它们的类关系如图所示:

关于HashMap和TreeMap的区别,我从以下4个方面来分析:

1)数据结构方面

HashMap是基于哈希表+数组来实现的,而TreeMap是基于红黑树实现的。

使用HashMap需要键对象明确定义了hashCode()和equals()这两个方法,而且为了优化HashMap空间的使用,可以调整初始容量大小和扩容。

TreeMap没有大小设置选项,因为,红黑树结构总是处于平衡状态。

2)效率方面

HashMap比TreeMap的性能更高。

HashMap的时间复杂度是O(1)ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值