ArrayMap 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 java.util.HashMap
具有更高的内存效率。
[Android.Runtime.Register("android/util/ArrayMap", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public sealed class ArrayMap : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Util.IMap
[<Android.Runtime.Register("android/util/ArrayMap", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
type ArrayMap = class
inherit Object
interface IMap
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 继承
- 属性
- 实现
注解
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 java.util.HashMap
具有更高的内存效率。 它将映射保存在数组数据结构中 -- 每个项的哈希代码的整数数组,以及键/值对的 Object 数组。 这样,它就可以避免为放入映射中的每个条目创建额外的对象,并且它还会尝试更积极地控制这些数组的大小增长 (因为增大这些数组只需要复制数组中的条目,而不是) 重新生成哈希映射。
请注意,此实现不适用于可能包含大量项的数据结构。 它通常比传统的 HashMap 慢,因为查找需要二进制搜索,添加和删除需要插入和删除数组中的条目。 对于最多包含数百个项的容器,性能差异并不显著,小于 50%。
由于此容器旨在更好地平衡内存使用,因此与大多数其他标准 Java 容器不同,它会在从中删除项时收缩其数组。 目前,你无法控制此收缩 -- 如果设置容量,然后删除一个项,它可能会减少容量以更好地匹配当前大小。 将来,显式调用来设置容量应该会关闭这种激进的收缩行为。
此结构是 <b>NOT</b> 线程安全的。
的 android.util.ArrayMap
Java 文档。
此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。
构造函数
ArrayMap() |
创建新的空 ArrayMap。 |
ArrayMap(ArrayMap) |
使用给定 ArrayMap 中的映射创建新的 ArrayMap。 |
ArrayMap(Int32) |
使用给定的初始容量创建新的 ArrayMap。 |
属性
Class |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
IsEmpty |
如果数组映射不包含任何项,则返回 true。 |
JniIdentityHashCode |
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 |
JniPeerMembers |
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 |
PeerReference |
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 |
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。 (继承自 Object) |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。 (继承自 Object) |
方法
Clear() |
将数组映射设为空。 |
Clone() |
创建并返回此对象的副本。 (继承自 Object) |
ContainsAll(ICollection<Object>) |
确定数组映射是否包含给定集合中的所有键。 |
ContainsKey(Object) |
检查数组中是否存在键。 |
ContainsValue(Object) |
检查数组中是否存在值。 |
Dispose() |
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 |
Dispose(Boolean) |
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 |
EnsureCapacity(Int32) |
确保数组映射至少可以保存 <var>minimumCapacity</var> 项。 |
EntrySet() |
返回一个 , |
Equals(Object) |
指示某个其他对象是否“等于”此对象。 (继承自 Object) |
ForEach(IBiConsumer) |
对存储顺序中的所有元素执行给定操作。 |
Get(Object) |
从数组中检索值。 |
GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
IndexOfKey(Object) |
返回集中键的索引。 |
IndexOfValue(Object) |
返回一个索引,该 |
JavaFinalize() |
当垃圾回收确定不再引用对象时,由垃圾回收器对对象调用。 (继承自 Object) |
KeyAt(Int32) |
返回数组中给定索引处的键。 |
KeySet() |
返回一个 |
Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
Put(Object, Object) |
向数组映射添加新值。 |
PutAll(ArrayMap) |
|
PutAll(IDictionary) |
|
Remove(Object) |
从数组映射中删除现有键。 |
RemoveAll(ICollection<Object>) |
删除数组映射中给定集合中存在的所有键。 |
RemoveAt(Int32) |
删除给定索引处的键/值映射。 |
ReplaceAll(IBiFunction) |
将每个条目的值替换为在该条目上调用给定函数的结果,直到所有条目都已处理或函数引发异常为止。 |
RetainAll(ICollection<Object>) |
删除数组映射<中给定集合中不存在< b>/b> 的所有键。 |
SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
SetValueAt(Int32, Object) |
在数组中的给定索引处设置值。 |
Size() |
返回此数组映射中的项数。 |
ToArray<T>() |
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 |
ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
UnregisterFromRuntime() |
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 |
ValueAt(Int32) |
返回数组中给定索引处的值。 |
Values() |
返回一个 |
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() |
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 |
IJavaPeerable.DisposeUnlessReferenced() |
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 |
IJavaPeerable.Finalized() |
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 |
IJavaPeerable.JniManagedPeerState |
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 |
IJavaPeerable.SetPeerReference(JniObjectReference) |
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 |
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 |
GetJniTypeName(IJavaPeerable) |
ArrayMap 是一种通用的键>值映射数据结构,设计为比传统 |