java基于TreeMap或ConcurrentSkipListMap实现数据的范围查找
背景
等值查找,有数组、列表、HashMap等,已经足够了,范围查找,该用什么数据结构呢?下面介绍java中非常好用的两个类TreeMap和ConcurrentSkipListMap。
TreeMap的实现基于红黑树
每一棵红黑树都是一颗二叉排序树,又称二叉查找树(Binary Search Tree),亦称二叉搜索树。是数据结构中的一类。在一般情况下,查询效率比链表结构要高。
红黑树是一种特化的AVL树(平衡二叉树),都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。 [2]