Java中contains()的最快数据结构?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (11)

Java中对contains()有最快操作的数据结构是什么?

例如,我有一组数字{1,7,12,14,20 ...}

给定另一个任意数字x,生成布尔值是否包含在该集合中的最快方式(平均)是多少?!contains()的概率大约高出5倍。

所有的地图结构是否提供o(1)操作?HashSet是最快的方法吗?

提问于
用户回答回答于

查看set(Hashset,enumset)和hash(HashMap,linkedhash ...,idnetityhash ..)的实现。他们有O(1)for contains()

这个cheatsheet有很大的帮助。

用户回答回答于

对于具有相对高密度的数字的特定情况,我会使用一个BitSet,它会比散列集更快,更小。

扫码关注云+社区