TreeMap 与 HashMap 区别相关套路题

Posted 码农每日一题

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TreeMap 与 HashMap 区别相关套路题相关的知识,希望对你有一定的参考价值。

码农每日一题

长按关注置顶

工作日每天推送一个短小精干的技术知识点,让您可以随时查漏补缺。

问:请简单谈谈 TreeMap 与 HashMap 的区别?


答:TreeMap 实现了 SortMap 接口,其能够根据键排序,默认是按键的升序排序,也可以指定排序的比较器,当用 Iterator 遍历 TreeMap 时得到的记录是排过序的,所以在插入和删除操作上会有些性能损耗,TreeMap 的键和值都不能为空,其为非并发安全 Map,此外 TreeMap 基于红黑树实现。


HashMap 是最常用的 Map,其基于哈希散列表实现,主要根据键的 hashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度,当用 Iterator 遍历 HashMap 时得到的记录顺序是随机的,HashMap 只允键值均为空,其为非并发安全 Map。


所以一般情况下我们选用 HashMap,因为 HashMap 的键值对在取出时是随机的,其依据键的 hashCode 值和键的 equals 方法存取数据,具有很快的访问速度,所以在 Map 中插入、删除及索引元素时其是效率最高的实现。而 TreeMap 取出来的是排序后的键值对,所以效率会低点。



问:请简单谈谈 TreeMap 与 HashMap 与 LinkedHashMap 的区别?


答:类似的问法还有上面这样的,大多数时候等你回答完区别后就会开始问这些集合的原理了,所以为了方便,这道题的答案给出已推送常见其他集合区别面试题(其他集合待续)。

《》

《》

《》

《》

关于这些集合的原理相关题目可以查看推送历史。

放松一下,顺带评论点赞分享一波~

很多女生都说,等玩够了,就找个老实人嫁了吧,对于这种话,我真是呵呵了……我就想替我们老实人问一句:你们啥时候玩够啊,我都等不及了。

以上是关于TreeMap 与 HashMap 区别相关套路题的主要内容,如果未能解决你的问题,请参考以下文章

面试题:HashSetTreeSet 和HashMap 的实现与原理

Java中HashMap和LinkedHashMap以及TreeMap的区别

深入理解HashMap和TreeMap的区别

HashMapweakHashMapLinkedHashMap和TreeMap四者区别与联系

HashMapweakHashMapLinkedHashMap和TreeMap四者区别与联系

HashMap 和 TreeMap 有啥区别? [复制]