检查O(1)设置的java中是否存在项
我正在使用一套检查O(1)设置的java中是否存在项,java,set,Java,Set,我正在使用一套项目 Set<Objects> myObjects 设置MyObject 此集合可能包含数千项。对我来说,通过O(1)检查此集合中是否存在项是很重要的 我知道对于集合有一个包含方法,但它的工作顺序是什么?O(1)能用吗 另外,如果没有效率,如何通过O(1)检查是否存在?HashSet.contains()的预期运行时间为O(1) 从: 该类为基本操作(添加、删除、包含和大小)提供恒定的时间性能。假设哈希函数将元素正确地分散在存储桶中。迭代这个集合需要的时间与Hash
项目
Set<Objects> myObjects
设置MyObject
此集合
可能包含数千项。对我来说,通过O(1)检查此集合中是否存在项是很重要的
我知道对于集合
有一个包含
方法,但它的工作顺序是什么?O(1)能用吗
另外,如果没有效率,如何通过O(1)检查是否存在?HashSet.contains()
的预期运行时间为O(1)
从:
该类为基本操作(添加、删除、包含和大小)提供恒定的时间性能。假设哈希函数将元素正确地分散在存储桶中。迭代这个集合需要的时间与HashSet实例的大小(元素数)加上支持HashMap实例的“容量”(bucket数)之和成比例。因此,如果迭代性能很重要,那么不要将初始容量设置得太高(或负载系数太低),这一点非常重要
Set
-实现预期通过O(1)
查找值。但是,这意味着您正在存储的对象提供了一个新的功能
在Java 8中,您可以使用以下代码提供良好且高效的哈希:
Objects.hash(value1, value2, value3);
如果正确使用contains
-method ofHashSet
应该可以正常工作(这非常快;)。Set
是一个接口