| 接口 | 说明 |
|---|---|
| Node<K> |
trie节点
|
| NodeFactory |
节点工厂
|
| 类 | 说明 |
|---|---|
| AbstractMapNode<K> |
map实现的trie节点抽象
|
| ConcurrentHashMapNode<K> |
线程安全的HashMap实现的trie节点
|
| ConcurrentHashMapNode.EmptyNodeHolder |
单例实现的空节点
|
| ConcurrentSkipListMapNode<K> |
跳表实现的线程安全的trie节点
|
| ConcurrentSkipListMapNode.EmptyNodeHolder |
单例实现的空节点
|
| HashMapNode<K> |
哈希表实现的trie节点
|
| HashMapNode.EmptyNodeHolder |
单例实现的空节点
|
| NodeFactoryRegistry |
节点工厂实现注册表
|
| TreeMapNode<K> |
红黑树实现的trie节点
|
| TreeMapNode.EmptyNodeHolder |
单例实现的空节点
|
| 枚举 | 说明 |
|---|---|
| NodeType |
节点类型
-1.不同的节点类型在增删改查方面有所区别,比如TreeMap在范围、比较查询时对比HashMap性能要高,适用于金额、日期等的索引;
-2.目前用了标准库中的两种类型,也可以扩展一下;
-3.如果trie有多线程并发使用的场景,建议使用线程安全的映射,如ConcurrentHashMap、ConcurrentSkipListMap;
|
Copyright © 2024–2025. All rights reserved.