Java中HashMap和TreeMap的区别
在这篇文章中,我们将了解与Java相关的hashmap和treemap之间的区别。
哈希表
它是Java中的哈希表。
它基于'map'接口的实现。
它实现了“Map”、“Cloneable”和“Serializable”接口。
它允许单个空键。
它还允许多个空值。
与Treemap相比,它更快。
这是因为它为i.e诸如“get”和“put”之类的操作提供了恒定时间性能,O(1)。
它不对键执行排序。
因此它允许HashMap中的异构元素。
它不维护元素的顺序。
当不需要按排序顺序的键值对时,可以使用它。
它使用Object类的'equals'方法来比较键。
Map类的“equals”方法覆盖了它。
它只包含基本方法,如“KeySet”、“get”、“put”。
树形图
它是Java中使用的树结构。
它基于'map'接口的实现。
它实现了“NavigableMap”、“Cloneable”和“Serializable”接口。
它不允许空键。
它允许多个空值。
它允许同类值作为键,因为它已排序。
与HashMap相比,它很慢,因为它log(n)为大多数操作(例如add()、remove()和)提供了O()的复杂性contains()。
它在内部使用红黑树。
红黑树是一种自平衡二叉搜索树。
该compareTo()方法用于比较键。
它具有许多功能,例如tailMap()、firstKey()、lastKey()、pollFirstEntry()、pollLastEntry()。
元素按升序排序,也称为自然顺序。
当要求是按排序顺序的键值对时使用它。