我有一个Java程序,它存储了很多从Strings到各种对象的映射.
现在,我的选择是依赖哈希(通过HashMap)或二进制搜索(通过TreeMap).我想知道在流行的高质量馆藏图书馆中是否有一个高效且标准的基于trie的地图实施?
我过去曾写过自己的文章,但如果可以的话,我宁愿选择标准的东西.
快速说明:虽然我的问题很普遍,但在当前项目中,我处理的是大量数据,这些数据由完全限定的类名或方法签名索引.因此,有许多共享前缀.
我已经开始了一个相当大的所谓的Descriptors枚举,我想在我的模型中用作参考列表.但是现在我第一次遇到编译器/ VM限制因此我正在寻找最好的解决方案来处理这个问题.
这是我的错误:静态初始化程序的代码超过65535字节限制
很明显这是从哪里来的 - 我的Enum只有很多元素.但是我需要那些元素 - 没有办法减少那个元素.
最初,我计划使用单个枚举,因为我想确保Enum中的所有元素都是唯一的.它用于Hibernate持久化上下文,其中对Enum的引用在数据库中存储为String值.所以这必须是独一无二的!
我的Enum的内容可以分成几组属于一起的元素.但拆分Enum会消除我在编译期间获得的独特安全性.或者可以通过某种方式实现多个枚举?
我目前唯一的想法是定义一些名为Descriptor的接口,并编写几个实现它的Enum.这样我希望能够使用Hibernate Enum映射,就好像它是一个Enum一样.但我甚至不确定这是否有效.我放松了独特的安全.
任何想法如何处理这种情况?