Java 对比HashtableHashmapTreemap有什么不同?(正在整理学习中)
Posted 筱筱的春天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 对比HashtableHashmapTreemap有什么不同?(正在整理学习中)相关的知识,希望对你有一定的参考价值。
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 对比HashtableHashmapTreemap有什么不同?(正在整理学习中)的主要内容,如果未能解决你的问题,请参考以下文章