Поделиться через


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.Interop.IJavaPeerable, 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.

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

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

SparseArray()

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

SparseArray(Int32)

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

SparseArray(IntPtr, JniHandleOwnership)

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

Свойства

Class

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

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

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

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

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

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

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

PeerReference

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

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

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

ThresholdType

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

Методы

Append(Int32, Object)

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

Clear()

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

Clone()

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

Contains(Int32)

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

ContentEquals(SparseArray)

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

ContentHashCode()

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

Delete(Int32)

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

Dispose()

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

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

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

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

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

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

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

Get(Int32, Object)

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

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)
SetValueAt(Int32, Object)

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

Size()

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

ToArray<T>()

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

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

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

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

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

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

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

Wait()

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

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

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

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

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

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

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

IJavaPeerable.Disposed()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

GetJniTypeName(IJavaPeerable)

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

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