Язык

IRandomAccess Интерфейс

Определение

Интерфейс маркера, используемый List реализацией, чтобы указать, что они поддерживают быстрый (обычно константный) случайный доступ.

[Android.Runtime.Register("java/util/RandomAccess", "", "Java.Util.IRandomAccessInvoker")]
public interface IRandomAccess : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/util/RandomAccess", "", "Java.Util.IRandomAccessInvoker")>]
type IRandomAccess = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Производный
Атрибуты
Реализации

Комментарии

Интерфейс маркера, используемый List реализацией, чтобы указать, что они поддерживают быстрый (обычно константный) случайный доступ. Основной целью этого интерфейса является разрешение универсальных алгоритмов изменять их поведение, чтобы обеспечить хорошую производительность при применении к случайным или последовательным спискам доступа.

Лучшие алгоритмы для управления списками случайных обращений (например ArrayList), могут создавать квадратное поведение при применении к последовательным спискам доступа (например LinkedList). Универсальные алгоритмы списков рекомендуется проверить, является instanceof ли данный список этим интерфейсом перед применением алгоритма, который обеспечит низкую производительность, если они были применены к последовательному списку доступа, и изменить их поведение при необходимости, чтобы гарантировать допустимую производительность.

Признается, что различие между случайным и последовательным доступом часто нечетко. Например, некоторые List реализации обеспечивают асимметрично линейное время доступа, если они получают огромные, но постоянное время доступа на практике. List Такая реализация обычно должна реализовывать этот интерфейс. Как правило, реализация должна реализовать этот интерфейс, List если для типичных экземпляров класса этот цикл:

for (int i=0, n=list.size(); i &lt; n; i++)
                    list.get(i);

выполняется быстрее, чем этот цикл:

for (Iterator i=list.iterator(); i.hasNext(); )
                    i.next();

Этот интерфейс является членом платформы коллекций Java.

Добавлено в версии 1.4.

Java документации по java.util.RandomAccess.

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

Свойства

Имя. Описание
Handle

Возвращает значение JNI базового объекта Android.

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

Возвращает значение java.lang.System.identityHashCode() для упаковаемого экземпляра.

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

Состояние управляемого однорангового узла.

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

Интерфейс маркера, используемый List реализацией, чтобы указать, что они поддерживают быстрый (обычно константный) случайный доступ.

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

Поддержка доступа к членам и вызовов.

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

JniObjectReference Возвращает экземпляр объекта в оболочке Java.

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

Методы

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

Вызывается при удалении экземпляра.

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

Если нет невыполненных ссылок на этот экземпляр, то вызывается Dispose(); в противном случае ничего не делает.

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

Вызывается при завершении экземпляра.

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

Задайте значение, возвращаемое JniIdentityHashCode.

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

Интерфейс маркера, используемый List реализацией, чтобы указать, что они поддерживают быстрый (обычно константный) случайный доступ.

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

Задайте значение, возвращаемое PeerReference.

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

Отмените регистрацию этого экземпляра, чтобы среда выполнения не возвращала ее из будущих Java.Interop.JniRuntime+JniValueManager.PeekValue вызовов.

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

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

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

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

Интерфейс маркера, используемый List реализацией, чтобы указать, что они поддерживают быстрый (обычно константный) случайный доступ.

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

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