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有什么不同?(正在整理学习中)的主要内容,如果未能解决你的问题,请参考以下文章

c#语法与java语法的对比分析

Java 集合 韩顺平老师 底层对比分析

Java VS .NET:Java与.NET的特点对比

Java 和JavaSciprt的对比

11个Java开源中文分词器使用方法和分词效果对比

Java 如何对比两张图片的相似度