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 < n; i++)
list.get(i);
выполняется быстрее, чем этот цикл:
for (Iterator i=list.iterator(); i.hasNext(); )
i.next();
Этот интерфейс является членом платформы коллекций Java.
Добавлено в версии 1.4.
Документация по Java для java.util.RandomAccess
.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.
Свойства
Handle |
Возвращает значение JNI базового объекта Android. (Унаследовано от IJavaObject) |
JniIdentityHashCode |
Возвращает значение |
JniManagedPeerState |
Состояние управляемого однорангового узла. (Унаследовано от IJavaPeerable) |
JniPeerMembers |
Поддержка доступа к членам и вызова. (Унаследовано от IJavaPeerable) |
PeerReference |
Возвращает экземпляр JniObjectReference объекта Java, заключенный в оболочку. (Унаследовано от IJavaPeerable) |
Методы
Disposed() |
Вызывается при удалении экземпляра. (Унаследовано от IJavaPeerable) |
DisposeUnlessReferenced() |
Если отсутствуют невыполненные ссылки на этот экземпляр, вызывает метод |
Finalized() |
Вызывается при завершении работы экземпляра. (Унаследовано от IJavaPeerable) |
SetJniIdentityHashCode(Int32) |
Задайте значение, возвращаемое . |
SetJniManagedPeerState(JniManagedPeerStates) |
Интерфейс маркера, используемый реализациями |
SetPeerReference(JniObjectReference) |
Задайте значение, возвращаемое . |
UnregisterFromRuntime() |
Отмените регистрацию этого экземпляра, чтобы среда выполнения не возвращала его из будущих Java.Interop.JniRuntime+JniValueManager.PeekValue вызовов. (Унаследовано от IJavaPeerable) |
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверенного средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
Интерфейс маркера, используемый реализациями |
GetJniTypeName(IJavaPeerable) |
Интерфейс маркера, используемый реализациями |