Langage

IRandomAccess Interface

Définition

Interface de marqueur utilisée par List les implémentations pour indiquer qu’elles prennent en charge un accès aléatoire rapide (généralement constant).

[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
Dérivé
Attributs
Implémente

Remarques

Interface de marqueur utilisée par List les implémentations pour indiquer qu’elles prennent en charge un accès aléatoire rapide (généralement constant). L’objectif principal de cette interface est de permettre aux algorithmes génériques de modifier leur comportement afin de fournir de bonnes performances lorsqu’ils sont appliqués à des listes d’accès aléatoires ou séquentielles.

Les meilleurs algorithmes pour manipuler des listes d’accès aléatoires (par exemple ArrayList) peuvent produire un comportement quadratique lorsqu’ils sont appliqués à des listes d’accès séquentielles (par LinkedListexemple). Les algorithmes de liste générique sont encouragés à vérifier si la liste donnée est une instanceof interface avant d’appliquer un algorithme qui fournirait des performances médiocres s’il était appliqué à une liste d’accès séquentielle et modifier leur comportement si nécessaire pour garantir des performances acceptables.

Il est reconnu que la distinction entre l’accès aléatoire et séquentiel est souvent approximative. Par exemple, certaines List implémentations fournissent des temps d’accès asymptotiques linéaires s’ils obtiennent des temps d’accès énormes, mais constants dans la pratique. List Une telle implémentation doit généralement implémenter cette interface. En règle générale, une List implémentation doit implémenter cette interface si, pour les instances classiques de la classe, cette boucle :

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

s’exécute plus rapidement que cette boucle :

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

Cette interface est membre de l’infrastructure Java Collections.

Ajouté dans la version 1.4.

Documentation Java pour java.util.RandomAccess.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Propriétés

Nom Description
Handle

Obtient la valeur JNI de l’objet Android sous-jacent.

(Hérité de IJavaObject)
JniIdentityHashCode

Retourne la valeur de java.lang.System.identityHashCode() l’instance encapsulée.

(Hérité de IJavaPeerable)
JniManagedPeerState

État de l’homologue managé.

(Hérité de IJavaPeerable)
JniObjectReferenceControlBlock

Interface de marqueur utilisée par List les implémentations pour indiquer qu’elles prennent en charge un accès aléatoire rapide (généralement constant).

(Hérité de IJavaPeerable)
JniPeerMembers

Prise en charge de l’accès aux membres et de l’appel.

(Hérité de IJavaPeerable)
PeerReference

Retourne une JniObjectReference instance d’objet Java encapsulée.

(Hérité de IJavaPeerable)

Méthodes

Nom Description
Disposed()

Appelé lorsque l’instance a été supprimée.

(Hérité de IJavaPeerable)
DisposeUnlessReferenced()

S’il n’existe aucune référence en suspens à cette instance, les appels Dispose(); sinon, ne fait rien.

(Hérité de IJavaPeerable)
Finalized()

Appelé lorsque l’instance a été finalisée.

(Hérité de IJavaPeerable)
SetJniIdentityHashCode(Int32)

Définissez la valeur retournée par JniIdentityHashCode.

(Hérité de IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Interface de marqueur utilisée par List les implémentations pour indiquer qu’elles prennent en charge un accès aléatoire rapide (généralement constant).

(Hérité de IJavaPeerable)
SetPeerReference(JniObjectReference)

Définissez la valeur retournée par PeerReference.

(Hérité de IJavaPeerable)
UnregisterFromRuntime()

Annulez l’inscription de cette instance afin que le runtime ne le retourne pas à partir d’appels futurs Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Hérité de IJavaPeerable)

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Interface de marqueur utilisée par List les implémentations pour indiquer qu’elles prennent en charge un accès aléatoire rapide (généralement constant).

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à