当前位置: 代码迷 >> 综合 >> 集合源码-TreeMap
  详细解决方案

集合源码-TreeMap

热度:14   发布时间:2024-02-27 00:01:58.0

1、简介

TreeMap使用红黑树存储元素,可以保证元素按key值的大小进行遍历。

2、继承体系

TreeMap继承自AbstractMap,并实现了 NavigableMap接口。NavigableMap 接口继承了SortedMap接口,SortedMap 最终继承自Map接口,同时 AbstractMap 类也实现了 Map 接口。

这里来简单说一下继承体系中不常见的接口NavigableMap和SortedMap:
NavigableMap是对SortedMap的增强,定义了一些返回离目标key最近的元素的方法。
SortedMap 接口,这个接口提供了一些基于有序键的操作。
在这里插入图片描述

3、红黑树

平衡二叉树(AVL)为了追求高度平衡,需要通过平衡处理使得左右子树的高度差必须小于等于1。高度平衡带来的好处是能够提供更高的搜索效率,其最坏的查找时间复杂度都是O(logN)。但是由于需要维持这份高度平衡,所付出的代价就是当对树种结点进行插入和删除时,需要经过多次旋转实现复衡。这导致AVL的插入和删除效率并不高。

红黑树具有五个特性:
1)每个结点要么是红的要么是黑的。
2)根结点是黑的。

  相关解决方案