我正在使用大量(5-2000 万)字符串键(平均长度为 10 个字符),我需要将它们存储在内存数据结构中,该结构支持在恒定时间或接近恒定时间的以下操作:
// Returns true if the input is present in the container, false otherwise
public boolean contains(String input)
事实证明,Java 的 Hashmap 就吞吐量而言非常令人满意,但它占用了大量内存。我正在寻找一种内存高效的解决方案,并且仍然支持不错的吞吐量(与散列相当或几乎一样好)。
我不在乎插入/删除时间。在我的应用程序中,我将只执行插入(仅在启动时),随后将只contains
在应用程序的生命周期内使用该方法查询数据结构。
我读到 HAT-Trie 数据结构最适合我的需要。我想知道是否有一个有实现的库。
欢迎其他带有实现指针的建议。
谢谢你。