SparseArray Класс

Определение

SparseArray сопоставляет целые числа с объектами и, в отличие от обычного массива объектов, его индексы могут содержать пробелы.

[Android.Runtime.Register("android/util/SparseArray", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class SparseArray : Java.Lang.Object, IDisposable, Java.Lang.ICloneable
[<Android.Runtime.Register("android/util/SparseArray", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type SparseArray = class
    inherit Object
    interface ICloneable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Наследование
SparseArray
Производный
Атрибуты
Реализации

Комментарии

SparseArray сопоставляет целые числа с объектами и, в отличие от обычного массива объектов, его индексы могут содержать пробелы. SparseArray предназначено для повышения эффективности памяти, чем <c>HashMap</c>, так как он избегает автоматического бокса ключей и его структуры данных не зависит от дополнительного объекта записи для каждого сопоставления.

Обратите внимание, что этот контейнер сохраняет сопоставления в структуре данных массива, используя двоичный поиск для поиска ключей. Реализация не предназначена для структур данных, которые могут содержать большое количество элементов. Обычно это медленнее HashMap , чем поиск, так как для подстановок требуется двоичный поиск, а также добавляется и удаляется требуется вставка и удаление записей в массиве. Для контейнеров, содержащих до сотен элементов, разница в производительности меньше 50%.

Чтобы помочь с производительностью, контейнер включает оптимизацию при удалении ключей: вместо немедленного сжатия массива он оставляет удаленную запись помеченной как удаленная. Затем запись можно повторно использовать для одного ключа или сжатия позже в одной сборке мусора всех удаленных записей. Эта сборка мусора должна выполняться всякий раз, когда массив должен быть выравлен или когда извлекаются значения размера карты или записи.

Можно выполнить итерацию элементов в этом контейнере с помощью #keyAt(int) и #valueAt(int). Итерация ключей keyAt(int) с возрастающими значениями индекса возвращает ключи в порядке возрастания. В случае valueAt(int), если значения, соответствующие ключам, возвращаются в порядке возрастания.

Java документации по android.util.SparseArray.

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Конструкторы

Имя Описание
SparseArray()

Создает новый sparseArray, содержащий никакие сопоставления.

SparseArray(Int32)

Создает новый sparseArray, содержащий никаких сопоставлений, которые не требуют дополнительного выделения памяти для хранения указанного количества сопоставлений.

SparseArray(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Свойства

Имя Описание
Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
JniIdentityHashCode

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

(Унаследовано от Object)
JniManagedPeerState

SparseArray сопоставляет целые числа с объектами и, в отличие от обычного массива объектов, его индексы могут содержать пробелы.

(Унаследовано от JavaObject)
JniPeerMembers

SparseArray сопоставляет целые числа с объектами и, в отличие от обычного массива объектов, его индексы могут содержать пробелы.

PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Имя Описание
Append(Int32, Object)

Помещает пару "ключ-значение" в массив, оптимизированную для случая, когда ключ больше всех существующих ключей в массиве.

Clear()

Удаляет все сопоставления "ключ-значение" из этого sparseArray.

Clone()

Создает и возвращает копию этого Objectобъекта.

Construct(JniObjectReference, JniObjectReferenceOptions)

SparseArray сопоставляет целые числа с объектами и, в отличие от обычного массива объектов, его индексы могут содержать пробелы.

(Унаследовано от JavaObject)
Contains(Int32)

Возвращает значение true, если ключ существует в массиве.

ContentEquals(SparseArray)

Сравнивает содержимое этого SparseArray с указанным SparseArray.

ContentHashCode()

Возвращает хэш-значение кода для содержимого этого SparseArrayобъекта, сочетая Objects#hashCode(Object) результат всех его ключей и значений.

Delete(Int32)

Удаляет сопоставление из указанного ключа, если было какое-либо.

Dispose()

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
Dispose(Boolean)

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

(Унаследовано от Object)
DisposeUnlessReferenced()

SparseArray сопоставляет целые числа с объектами и, в отличие от обычного массива объектов, его индексы могут содержать пробелы.

(Унаследовано от JavaObject)
Equals(Object)

SparseArray сопоставляет целые числа с объектами и, в отличие от обычного массива объектов, его индексы могут содержать пробелы.

(Унаследовано от JavaObject)
Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
Get(Int32, Object)

Возвращает объект, сопоставленный с указанным ключом, или указанный объект, если такое сопоставление не было выполнено.

Get(Int32)

Возвращает объект, сопоставленный с указанным ключом, или null если такое сопоставление не было выполнено.

GetHashCode()

Возвращает хэш-значение кода для объекта.

(Унаследовано от Object)
IndexOfKey(Int32)

Возвращает индекс, для которого #keyAt возвращается указанный ключ, или отрицательное число, если указанный ключ не сопоставлен.

IndexOfValue(Object)

Возвращает индекс, для которого #valueAt возвращает указанное значение или отрицательное число, если ключи не сопоставляют с указанным значением.

JavaFinalize()

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
KeyAt(Int32)

Учитывая индекс в диапазоне 0...size()-1, возвращает ключ из indexсопоставления th key-value, которое хранится в этом хранилище SparseArray.

Notify()

Просыпается один поток, ожидающий монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
Put(Int32, Object)

Добавляет сопоставление из указанного ключа к указанному значению, заменив предыдущее сопоставление из указанного ключа, если он был.

Remove(Int32)

Псевдоним для #delete(int).

RemoveAt(Int32)

Удаляет сопоставление по указанному индексу.

RemoveAtRange(Int32, Int32)

Удалите диапазон сопоставлений в виде пакета.

Set(Int32, Object)

Псевдоним для #put(int, Object) поддержки оператора Kotlin [index]= .

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

SparseArray сопоставляет целые числа с объектами и, в отличие от обычного массива объектов, его индексы могут содержать пробелы.

(Унаследовано от JavaObject)
SetValueAt(Int32, Object)

Учитывая индекс в диапазоне 0...size()-1, задает новое значение для indexсопоставления th key-value, которое хранится в этом хранилище SparseArray.

Size()

Возвращает количество сопоставлений "ключ-значение", которые в настоящее время хранятся в этом sparseArray.

ToArray<T>()

Создает управляемый массив из этого Java оболочки массива.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

(Унаследовано от Object)
ValueAt(Int32)

Учитывая индекс в диапазоне 0...size()-1, возвращает значение из indexсопоставления th key-value, которое хранится в этом хранилище SparseArray.

Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.>

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
IJavaPeerable.Disposed()

SparseArray сопоставляет целые числа с объектами и, в отличие от обычного массива объектов, его индексы могут содержать пробелы.

(Унаследовано от JavaObject)
IJavaPeerable.Finalized()

SparseArray сопоставляет целые числа с объектами и, в отличие от обычного массива объектов, его индексы могут содержать пробелы.

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

SparseArray сопоставляет целые числа с объектами и, в отличие от обычного массива объектов, его индексы могут содержать пробелы.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

SparseArray сопоставляет целые числа с объектами и, в отличие от обычного массива объектов, его индексы могут содержать пробелы.

(Унаследовано от JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

SparseArray сопоставляет целые числа с объектами и, в отличие от обычного массива объектов, его индексы могут содержать пробелы.

(Унаследовано от JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

SparseArray сопоставляет целые числа с объектами и, в отличие от обычного массива объектов, его индексы могут содержать пробелы.

(Унаследовано от JavaObject)
IJavaPeerable.UnregisterFromRuntime()

SparseArray сопоставляет целые числа с объектами и, в отличие от обычного массива объектов, его индексы могут содержать пробелы.

Методы расширения

Имя Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

SparseArray сопоставляет целые числа с объектами и, в отличие от обычного массива объектов, его индексы могут содержать пробелы.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

Применяется к