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






