需要内存高效的方式来存储大量的字符串(原来:Java中的HAT-Trie实现)
我正在使用大量(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数据结构最接近我的需求。我想知道是否有一个具有实现的库。
欢迎提出其他建议,并指明实现。
谢谢。