LongSparseArray Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Сопоставление longs с объектами SparseArray.
[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
- Наследование
- Атрибуты
- Реализации
Комментарии
Сопоставление longs с объектами SparseArray. В отличие от обычного массива Объектов, в индексах могут быть пробелы. Он предназначен для более эффективного использования памяти, чем использование HashMap для сопоставления Longs с объектами, так как он избегает автоматической обработки ключей и его структура данных не зависит от дополнительного объекта записи для каждого сопоставления.
Обратите внимание, что этот контейнер сохраняет свои сопоставления в структуре данных массива, используя двоичный поиск для поиска ключей. Реализация не предназначена для структур данных, которые могут содержать большое количество элементов. Как правило, это медленнее, чем традиционный HashMap, так как для поиска требуется двоичный поиск, а для добавления и удаления требуется вставка и удаление записей в массиве. Для контейнеров, вмещая до сотен элементов, разница в производительности не является значительной, менее 50 %.
Чтобы повысить производительность, контейнер включает оптимизацию при удалении ключей: вместо немедленного сжатия массива удаленная запись помечается как удаленная. Затем запись можно повторно использовать для того же ключа или сжать позже на одном шаге сборки мусора всех удаленных записей. Эта сборка мусора должна выполняться в любой момент, когда массив необходимо вырастить или получить размер карты или начальные значения.
Можно выполнить итерацию по элементам в этом контейнере с помощью #keyAt(int)
и #valueAt(int)
. Итерация по ключам с возрастающими keyAt(int)
значениями индекса вернет ключи в порядке возрастания или значения, соответствующие ключам в порядке возрастания в случае valueAt(int)
.
Документация по Java для android.util.LongSparseArray
.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.
Конструкторы
LongSparseArray() |
Создает новый объект LongSparseArray, не содержащий сопоставлений. |
LongSparseArray(Int32) |
Создает новый объект LongSparseArray, не содержащий сопоставлений, которые не требуют дополнительного выделения памяти для хранения указанного количества сопоставлений. |
LongSparseArray(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
Свойства
Class |
Возвращает класс среды выполнения данного объекта |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
JniIdentityHashCode |
Сопоставление longs с объектами SparseArray. (Унаследовано от Object) |
JniPeerMembers |
Сопоставление longs с объектами SparseArray. |
PeerReference |
Сопоставление longs с объектами SparseArray. (Унаследовано от Object) |
ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
Методы
Append(Int64, Object) |
Помещает пару "ключ-значение" в массив, оптимизируя его для случая, когда ключ больше всех существующих ключей в массиве. |
Clear() |
Удаляет все сопоставления "ключ-значение" из этого longSparseArray. |
Clone() |
Создает и возвращает копию этого |
Delete(Int64) |
Удаляет сопоставление из указанного ключа, если оно было. |
Dispose() |
Сопоставление longs с объектами SparseArray. (Унаследовано от Object) |
Dispose(Boolean) |
Сопоставление longs с объектами SparseArray. (Унаследовано от Object) |
Equals(Object) |
Указывает, равен ли какой-то другой объект этому объекту. (Унаследовано от Object) |
Get(Int64) |
Возвращает объект , сопоставленный из указанного ключа, или |
Get(Int64, Object) |
Возвращает объект , сопоставленный по указанному ключу, или указанный объект , если такое сопоставление не было выполнено. |
GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
IndexOfKey(Int64) |
Возвращает индекс, для которого |
IndexOfValue(Object) |
Возвращает индекс, для которого |
JavaFinalize() |
Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект . (Унаследовано от Object) |
KeyAt(Int32) |
При выборе индекса в диапазоне |
Notify() |
Пробуждает один поток, ожидающий монитора этого объекта. (Унаследовано от Object) |
NotifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. (Унаследовано от Object) |
Put(Int64, Object) |
Добавляет сопоставление из указанного ключа с указанным значением, заменяя предыдущее сопоставление из указанного ключа, если оно было. |
Remove(Int64) |
Псевдоним для |
RemoveAt(Int32) |
Удаляет сопоставление по указанному индексу. |
SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
SetValueAt(Int32, Object) |
Учитывая индекс в диапазоне |
Size() |
Возвращает количество сопоставлений "ключ-значение", которые в данный момент хранится в этом longSparseArray. |
ToArray<T>() |
Сопоставление longs с объектами SparseArray. (Унаследовано от Object) |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
UnregisterFromRuntime() |
Сопоставление longs с объектами SparseArray. (Унаследовано от Object) |
ValueAt(Int32) |
При выборе индекса в диапазоне |
Wait() |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, из-за <уведомления><<> или>прерывания или прерывания.>< (Унаследовано от Object) |
Wait(Int64) |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени. (Унаследовано от Object) |
Wait(Int64, Int32) |
Вызывает ожидание текущего потока, пока он не пробудится, как правило, путем <уведомления><<> или>прерывания или прерывания<> или до истечения определенного количества реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
IJavaPeerable.Disposed() |
Сопоставление longs с объектами SparseArray. (Унаследовано от Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Сопоставление longs с объектами SparseArray. (Унаследовано от Object) |
IJavaPeerable.Finalized() |
Сопоставление longs с объектами SparseArray. (Унаследовано от Object) |
IJavaPeerable.JniManagedPeerState |
Сопоставление longs с объектами SparseArray. (Унаследовано от Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Сопоставление longs с объектами SparseArray. (Унаследовано от Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Сопоставление longs с объектами SparseArray. (Унаследовано от Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Сопоставление longs с объектами SparseArray. (Унаследовано от Object) |
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверенного средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
Сопоставление longs с объектами SparseArray. |
GetJniTypeName(IJavaPeerable) |
Сопоставление longs с объектами SparseArray. |