相关疑难解决方法(0)

需要内存有效的方法来存储大量的字符串(是:在Java中的HAT-Trie实现)

我正在使用一大组(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数据结构最接近我的需求.我想知道是否有一个具有实现的库.

其他建议与实现的指针欢迎.

谢谢.

java hash trie bloom-filter data-structures

28
推荐指数
1
解决办法
1万
查看次数

标签 统计

bloom-filter ×1

data-structures ×1

hash ×1

java ×1

trie ×1