码迷,mamicode.com
首页 > 编程语言 > 详细

Java 对比Hashtable、Hashmap、Treemap有什么不同?(正在整理学习中)

时间:2018-07-03 15:14:55      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:move   一个   大致   哈希   形式   put   com   键值   ble   

Hashtable、Hashmap、Treemap都是最常见的一些Map实现,是以键值对的形式存储和操作数据的容器类型。

Hashtable是Java类库提供的一个哈希实现,本身是同步的,不支持null键和null值,由于同步导致性能开销,所以已经很少被推荐使用。

HashMap是应用更加广泛的哈希表实现,行为上大致与HashTable一致,主要区别在于HashMap不是同步的,支持null键和null值等。通常情况下HashMap进行get和put操作可以达到常数时间的性能,所以它是绝大部分利用键值对存取场景的首选。

TreeMap则是基于红黑树的一种提供顺序访问的Map,它的get、put、remove之类的操作都是o(logn)的时间复杂度,具体顺序可以由指定的Comparator来决定,或者根据键的自然顺序来判断。

Java 对比Hashtable、Hashmap、Treemap有什么不同?(正在整理学习中)

标签:move   一个   大致   哈希   形式   put   com   键值   ble   

原文地址:https://www.cnblogs.com/baxianhua/p/9257692.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!