HashSet 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
此类实现 Set
接口,该接口由哈希表 (实际 HashMap
实例) 。
[Android.Runtime.Register("java/util/HashSet", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class HashSet : Java.Util.AbstractSet, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.ICloneable
[<Android.Runtime.Register("java/util/HashSet", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type HashSet = class
inherit AbstractSet
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface ICloneable
interface ISet
interface ICollection
interface IIterable
- 继承
- 派生
- 属性
- 实现
注解
此类实现 Set
接口,该接口由哈希表 (实际 HashMap
实例) 。 它不保证集的迭代顺序;具体而言,它不保证订单随时间推移保持不变。 此类允许 null
元素。
此类为基本操作提供恒定的时间性能, (add
、 remove
contains
和 size
) ,假设哈希函数在存储桶中正确分散元素。 循环访问此集需要与实例大小之和 HashSet
成正比的时间, () 元素数加上后备 HashMap
实例的“容量” () 存储桶数。 因此,如果迭代性能很重要,则不要将初始容量设置为过高 (或负载因子过低) 非常重要。
<强>请注意,此实现不同步。</strong> 如果多个线程同时访问哈希集,并且至少有一个线程修改该集, 则必须 在外部同步该集。 这通常是通过在自然封装集的某个对象上同步来实现的。
如果不存在此类对象,应使用 Collections#synchronizedSet Collections.synchronizedSet
方法“包装”集。 最好在创建时执行此操作,以防止意外对集进行非同步访问:
Set s = Collections.synchronizedSet(new HashSet(...));
此类的 方法返回的 iterator
迭代器是 快速的:如果在创建迭代器后的任何时间修改集,除非通过迭代器自己的 remove
方法,否则迭代器将 ConcurrentModificationException
引发 。 因此,面对并发修改,迭代器会快速且干净地失败,而不会在将来不确定的时间冒着任意、非确定性行为的风险。
请注意,无法保证迭代器的快速故障行为,因为一般来说,在出现非同步并发修改的情况下,不可能做出任何硬性保证。 故障快速迭代器会尽最大努力引发 ConcurrentModificationException
。 因此,编写依赖于此异常的程序的正确性是错误的: 迭代器的快速故障行为应仅用于检测 bug。
此类是 Java 集合框架的成员。
在 1.2 中添加。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。
构造函数
HashSet() |
构造新的空集;后备 |
HashSet(ICollection) |
构造包含指定集合中的元素的新集。 |
HashSet(Int32) |
构造新的空集;后备 |
HashSet(Int32, Single) |
构造新的空集;后备 |
HashSet(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
属性
Class |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
IsEmpty |
要添加 (继承自 AbstractCollection) |
JniIdentityHashCode |
此类实现 |
JniPeerMembers |
此类实现 |
PeerReference |
此类实现 |
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不应直接从代码使用。 |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不应直接从代码使用。 |
方法
Add(Object) |
要添加 (继承自 AbstractCollection) |
AddAll(ICollection) |
要添加 (继承自 AbstractCollection) |
Clear() |
要添加 (继承自 AbstractCollection) |
Clone() |
返回此 |
Contains(Object) |
要添加 (继承自 AbstractCollection) |
ContainsAll(ICollection) |
要添加 (继承自 AbstractCollection) |
Dispose() |
此类实现 |
Dispose(Boolean) |
此类实现 |
Equals(Object) |
指示其他某个对象是否“等于”此对象。 (继承自 Object) |
GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
Iterator() |
返回此集中元素的迭代器。 |
JavaFinalize() |
当垃圾回收确定不再引用对象时,由对象上的垃圾回收器调用。 (继承自 Object) |
Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
Remove(Object) |
要添加 (继承自 AbstractCollection) |
RemoveAll(ICollection) |
要添加 (继承自 AbstractCollection) |
RetainAll(ICollection) |
要添加 (继承自 AbstractCollection) |
SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
Size() |
返回此集中的元素数 (其基数) 。 |
Spliterator() |
在此集中的 <元素上创建 em>late-binding</em> 和 <em>fail-fast</em> |
ToArray() |
要添加 (继承自 AbstractCollection) |
ToArray(Object[]) |
要添加 (继承自 AbstractCollection) |
ToArray<T>() |
此类实现 |
ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
UnregisterFromRuntime() |
此类实现 |
Wait() |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>。<> (继承自 Object) |
Wait(Int64) |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<> (继承自 Object) |
Wait(Int64, Int32) |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<> (继承自 Object) |
显式接口实现
IJavaPeerable.Disposed() |
此类实现 |
IJavaPeerable.DisposeUnlessReferenced() |
此类实现 |
IJavaPeerable.Finalized() |
此类实现 |
IJavaPeerable.JniManagedPeerState |
此类实现 |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
此类实现 |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
此类实现 |
IJavaPeerable.SetPeerReference(JniObjectReference) |
此类实现 |
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
此类实现 |
GetJniTypeName(IJavaPeerable) |
此类实现 |
ToEnumerable(IIterable) |
此类实现 |
ToEnumerable<T>(IIterable) |
此类实现 |