我需要在内存中查找并查找一百万个均匀分布的整数.我的工作量非常密集.
我当前的实现使用HashSet(Java).我看到了很好的查找性能,但内存使用情况并不理想(数十MB).
您能想到更高效(内存)的数据结构吗?
编辑:解决方案需要支持少量的数据结构添加.
背景:
上面说的整数问题是对以下问题的简化:
我有一百万个字符串(我的"字典"),我想知道字典是否包含给定的字符串.
字典太大而不适合内存,所以我愿意牺牲一点精度来减少内存占用.我将通过切换到包含每个String的Hashcode值(整数)的Dictionary而不是实际的chars来实现.我假设每个字符串发生碰撞的可能性只是1M/2^32
.