Java中有Trie吗?

Java中有Trie吗?,java,trie,Java,Trie,可能重复: 我想在Java中使用Trie,有没有可以使用的实现?(我试图寻找一个,但没有找到)。核心Java库中没有trie数据结构 这可能是因为try通常被设计为存储字符串,而Java数据结构更为通用,通常包含任何对象(定义相等和散列操作),尽管它们有时仅限于可比较的对象(定义顺序)。虽然CharSequence适用于字符串,但“符号序列”没有通用的抽象,我想您可以对其他类型的符号使用Iterable 这里还有一点需要考虑:当试图在Java中实现传统的trie时,您很快就会遇到Java支持U

可能重复:


我想在Java中使用Trie,有没有可以使用的实现?(我试图寻找一个,但没有找到)。

核心Java库中没有trie数据结构

这可能是因为try通常被设计为存储字符串,而Java数据结构更为通用,通常包含任何
对象(定义相等和散列操作),尽管它们有时仅限于
可比较的
对象(定义顺序)。虽然
CharSequence
适用于字符串,但“符号序列”没有通用的抽象,我想您可以对其他类型的符号使用
Iterable

这里还有一点需要考虑:当试图在Java中实现传统的trie时,您很快就会遇到Java支持Unicode的事实。为了获得任何形式的空间效率,您必须将trie中的字符串限制为符号的某个子集,或者放弃将子节点存储在按符号索引的数组中的传统方法。这可能是另一个原因,为什么try被认为是不够通用的,不能包含在核心库中,如果您实现自己的库或使用第三方库,则需要注意。