Sprache

IRandomAccess Schnittstelle

Definition

Markerschnittstelle, die von List Implementierungen verwendet wird, um anzugeben, dass sie schnellen (im Allgemeinen konstanten Zeit) zufälligen Zugriff unterstützen.

[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
Abgeleitet
Attribute
Implementiert

Hinweise

Markerschnittstelle, die von List Implementierungen verwendet wird, um anzugeben, dass sie schnellen (im Allgemeinen konstanten Zeit) zufälligen Zugriff unterstützen. Der Hauptzweck dieser Schnittstelle besteht darin, generische Algorithmen zu ermöglichen, ihr Verhalten zu ändern, um eine gute Leistung zu bieten, wenn sie auf zufällige oder sequenzielle Zugriffslisten angewendet wird.

Die besten Algorithmen zum Bearbeiten von Listen mit zufälligen Zugriffen (z ArrayList. B. ) können quadratisches Verhalten erzeugen, wenn sie auf sequenzielle Zugriffslisten angewendet werden (z LinkedList. B. ). Generische Listenalgorithmen werden empfohlen, zu überprüfen, ob es sich bei der angegebenen Liste um eine instanceof diese Schnittstelle handelt, bevor ein Algorithmus angewendet wird, der eine schlechte Leistung bietet, wenn sie auf eine sequenzielle Zugriffsliste angewendet wurde, und ihr Verhalten bei Bedarf ändern, um eine akzeptable Leistung zu gewährleisten.

Es wird erkannt, dass die Unterscheidung zwischen zufälliger und sequenziellem Zugriff häufig fuzzy ist. Beispielsweise bieten einige List Implementierungen asymptotisch lineare Zugriffszeiten, wenn sie enorm, aber konstante Zugriffszeiten in der Praxis erhalten. Eine List solche Implementierung sollte diese Schnittstelle im Allgemeinen implementieren. Als Faustregel sollte eine List Implementierung diese Schnittstelle implementieren, wenn für typische Instanzen der Klasse diese Schleife:

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

wird schneller als diese Schleife ausgeführt:

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

Diese Schnittstelle ist ein Mitglied des Java Collections Framework.

In 1.4 hinzugefügt.

Java Dokumentation für java.util.RandomAccess.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Eigenschaften

Name Beschreibung
Handle

Ruft den JNI-Wert des zugrunde liegenden Android-Objekts ab.

(Geerbt von IJavaObject)
JniIdentityHashCode

Gibt den Wert java.lang.System.identityHashCode() für die umbrochene Instanz zurück.

(Geerbt von IJavaPeerable)
JniManagedPeerState

Status des verwalteten Peers.

(Geerbt von IJavaPeerable)
JniObjectReferenceControlBlock

Markerschnittstelle, die von List Implementierungen verwendet wird, um anzugeben, dass sie schnellen (im Allgemeinen konstanten Zeit) zufälligen Zugriff unterstützen.

(Geerbt von IJavaPeerable)
JniPeerMembers

Mitgliedszugriff und Aufrufunterstützung.

(Geerbt von IJavaPeerable)
PeerReference

Gibt eine JniObjectReference der umbrochenen Java Objektinstanz zurück.

(Geerbt von IJavaPeerable)

Methoden

Name Beschreibung
Disposed()

Wird aufgerufen, wenn die Instanz verworfen wurde.

(Geerbt von IJavaPeerable)
DisposeUnlessReferenced()

Wenn keine offenen Verweise auf diese Instanz vorhanden sind, wird nichts aufgerufen Dispose(). Andernfalls wird nichts ausgeführt.

(Geerbt von IJavaPeerable)
Finalized()

Wird aufgerufen, wenn die Instanz abgeschlossen wurde.

(Geerbt von IJavaPeerable)
SetJniIdentityHashCode(Int32)

Legen Sie den von JniIdentityHashCode.

(Geerbt von IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Markerschnittstelle, die von List Implementierungen verwendet wird, um anzugeben, dass sie schnellen (im Allgemeinen konstanten Zeit) zufälligen Zugriff unterstützen.

(Geerbt von IJavaPeerable)
SetPeerReference(JniObjectReference)

Legen Sie den von PeerReference.

(Geerbt von IJavaPeerable)
UnregisterFromRuntime()

Heben Sie die Registrierung dieser Instanz auf, damit die Laufzeit sie nicht aus zukünftigen Java.Interop.JniRuntime+JniValueManager.PeekValue Aufrufen zurückgibt.

(Geerbt von IJavaPeerable)

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

JavaCast<TResult>(IJavaObject)

Führt eine android-laufzeitgecheckte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Markerschnittstelle, die von List Implementierungen verwendet wird, um anzugeben, dass sie schnellen (im Allgemeinen konstanten Zeit) zufälligen Zugriff unterstützen.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: