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