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()。

  • 元素按升序排序,也称为自然顺序。

  • 当要求是按排序顺序的键值对时使用它。

以上是 Java中HashMap和TreeMap的区别 的全部内容, 来源链接: utcz.com/z/352691.html

回到顶部