LongSparseArray 类

定义

稀疏Array 将长映射到对象。

[Android.Runtime.Register("android/util/LongSparseArray", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class LongSparseArray : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.ICloneable
[<Android.Runtime.Register("android/util/LongSparseArray", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type LongSparseArray = class
    inherit Object
    interface ICloneable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
继承
LongSparseArray
属性
实现

注解

稀疏Array 将长映射到对象。 与对象的普通数组不同,索引中可能存在差距。 它旨在比使用 HashMap 将 Longs 映射到对象更具内存效率,因为它避免自动装箱键及其数据结构不依赖于每个映射的额外条目对象。

请注意,此容器使用二进制搜索查找键,将其映射保存在数组数据结构中。 实现不适用于可能包含大量项的数据结构。 它通常比传统的 HashMap 慢,因为查找需要二进制搜索,并且添加和删除需要插入和删除数组中的条目。 对于包含多达数百个项目的容器,性能差异并不显著,小于 50%。

为了帮助提高性能,容器在删除键时包括优化:它不立即压缩其数组,而是将已删除的条目标记为已删除。 然后,该条目可以重新用于同一个键,也可以在所有已删除条目的单个垃圾回收步骤中压缩。 每当需要增长数组或检索地图大小或条目值时,都需要执行此垃圾回收。

可以使用和 #keyAt(int). 循环访问此容器#valueAt(int)中的项。 使用 keyAt(int) 索引的升序值循环访问键将按升序返回键,或者在升序中 valueAt(int)按升序返回与键对应的值。

适用于 . 的 android.util.LongSparseArrayJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

构造函数

名称 说明
LongSparseArray()

创建包含无映射的新 LongSparseArray。

LongSparseArray(Int32)

创建一个新的 LongSparseArray,其中包含不需要任何其他内存分配来存储指定数量的映射的映射。

LongSparseArray(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

属性

名称 说明
Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

稀疏Array 将长映射到对象。

(继承自 Object)
JniPeerMembers

稀疏Array 将长映射到对象。

PeerReference

稀疏Array 将长映射到对象。

(继承自 Object)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

方法

名称 说明
Append(Int64, Object)

将键/值对放入数组,针对键大于数组中所有现有键的情况进行优化。

Clear()

从此 LongSparseArray 中删除所有键值映射。

Clone()

创建并返回此 Object副本。

Delete(Int64)

从指定键中删除映射(如果有)。

Dispose()

稀疏Array 将长映射到对象。

(继承自 Object)
Dispose(Boolean)

稀疏Array 将长映射到对象。

(继承自 Object)
Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
Get(Int64, Object)

获取从指定键映射的对象;如果未进行此类映射,则获取指定的对象。

Get(Int64)

获取从指定键映射的对象,或者 null 如果没有进行此类映射。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
IndexOfKey(Int64)

返回将返回指定键的索引 #keyAt ;如果未映射指定键,则返回负数。

IndexOfValue(Object)

返回一个索引,如果 #valueAt 没有键映射到指定的值,则返回一个负数。

JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
KeyAt(Int32)

给定区域中 0...size()-1的索引,从此 LongSparseArray 存储的第三个键值映射中返回键 index

Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
Put(Int64, Object)

将指定键中的映射添加到指定值,替换指定键中的上一个映射(如果有)。

Remove(Int64)

#delete(long) 的别名。

RemoveAt(Int32)

删除指定索引处的映射。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetValueAt(Int32, Object)

给定区域中 0...size()-1的索引,为此 LongSparseArray 存储的第 index四个键值映射设置一个新值。

Size()

返回此 LongSparseArray 当前存储的键值映射数。

ToArray<T>()

稀疏Array 将长映射到对象。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

稀疏Array 将长映射到对象。

(继承自 Object)
ValueAt(Int32)

给定区域中 0...size()-1的索引,返回此 LongSparseArray 存储的第 index三个键值映射中的值。

Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><>

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)

显式接口实现

名称 说明
IJavaPeerable.Disposed()

稀疏Array 将长映射到对象。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

稀疏Array 将长映射到对象。

(继承自 Object)
IJavaPeerable.Finalized()

稀疏Array 将长映射到对象。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

稀疏Array 将长映射到对象。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

稀疏Array 将长映射到对象。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

稀疏Array 将长映射到对象。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

稀疏Array 将长映射到对象。

(继承自 Object)

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

稀疏Array 将长映射到对象。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于