作者:羚之舞 | 来源:互联网 | 2022-11-06 15:12
我的用例是,我正在寻找Java中的数据结构,该结构可让我查看是否具有相同哈希码的对象位于内部(通过调用contains()),但是我永远不需要遍历元素或检索实际对象。HashSet很近,但是据我所知,它仍然包含对实际对象的引用,这将浪费内存,因为我永远不需要实际对象的内容。我能想到的最好的选择是仅存储哈希码的Integer类型的HashSet,但是我想知道是否有一个内置数据结构可以完成相同的工作(并且只接受一种类型,而不是HashSet的HashSet)。输入Integer,它将接受任何对象的哈希码)。
1> Andy Thomas..:
一个布隆过滤器可以告诉一个对象是否可以成为会员,或绝对不是一个成员。您可以控制误报的可能性。每个哈希值映射到单个位。
Guava库提供Java实现。