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
元素。
此类为基本操作(和remove
) contains
size
提供固定的时间性能,add
假设哈希函数在存储桶中正确分散元素。 循环访问此集需要时间与实例大小(元素数)和后盾HashMap
实例(存储桶数)的总和HashSet
成正比。 因此,如果迭代性能很重要,则不设置初始容量过高(或负载系数过低)非常重要。
<强>请注意,此实现未同步。</strong> 如果多个线程同时访问哈希集,并且至少有一个线程修改了该集,则必须在外部同步该组。 这通常是通过在自然封装集的某些对象上进行同步来实现的。
如果不存在此类对象,则应使用 Collections#synchronizedSet Collections.synchronizedSet
该方法“包装”集。 最好在创建时执行此操作,以防止意外的未同步访问集:
Set s = Collections.synchronizedSet(new HashSet(...));
此类方法返回的 iterator
迭代器是 失败的:如果在创建迭代器后随时修改集,则迭代器 remove
会引发一个 ConcurrentModificationException
。 因此,面对并发修改,迭代器会在将来不确定的时间快速、干净地失败,而不是冒着任意的不确定行为的风险。
请注意,迭代器的故障快速行为无法保证,一般来说,在出现非同步并发修改时,无法做出任何硬保证。 故障快速迭代器会尽力引发 ConcurrentModificationException
。 因此,编写依赖于此异常的程序的正确性是错误的: 迭代器的故障快速行为应仅用于检测 bug。
此类是 Java 集合框架的成员。
已在 1.2 中添加。
适用于 . 的 java.util.HashSet
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
构造函数
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 后期绑定</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) |
此类实现 |