TreeMap 与 HashMap 的区别

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

大家好,欢迎来到IT知识分享网。TreeMap 与 HashMap 的区别

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

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

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

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/10217.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信