Java中对contains()操作最快的数据结构是什么?
例如我有一组数字{1,7,12,12,20 ...}
给定另一个任意数字x,(平均)最快的方法是生成x是否包含在集合中的布尔值?!contains()的概率大约高5倍。
是否所有地图结构都提供o(1)操作?HashSet是最快的方法吗?
Answers:
看一下基于集合(哈希集,枚举集)和哈希(HashMap,linkedhash ...,idnetityhash ..)的实现。他们对contains()有O(1)
该备忘单有很大帮助。
hashing(hash set)是O(1)最好的