IRandomAccess Antarmuka

Definisi

Antarmuka penanda yang digunakan oleh List implementasi untuk menunjukkan bahwa mereka mendukung akses acak yang cepat (umumnya waktu konstan).

[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
Turunan
Atribut
Penerapan

Keterangan

Antarmuka penanda yang digunakan oleh List implementasi untuk menunjukkan bahwa mereka mendukung akses acak yang cepat (umumnya waktu konstan). Tujuan utama antarmuka ini adalah untuk memungkinkan algoritma generik mengubah perilaku mereka untuk memberikan performa yang baik ketika diterapkan ke daftar akses acak atau berurutan.

Algoritma terbaik untuk memanipulasi daftar akses acak (seperti ArrayList) dapat menghasilkan perilaku kuadrat ketika diterapkan ke daftar akses berurutan (seperti LinkedList). Algoritma daftar generik didorong untuk memeriksa apakah daftar yang instanceof diberikan adalah antarmuka ini sebelum menerapkan algoritma yang akan memberikan performa buruk jika diterapkan ke daftar akses berurutan, dan untuk mengubah perilaku mereka jika perlu untuk menjamin performa yang dapat diterima.

Diakui bahwa perbedaan antara akses acak dan berurutan seringkali kabur. Misalnya, beberapa List implementasi menyediakan waktu akses linier secara asimptotik jika mereka mendapatkan waktu akses yang besar, tetapi konstan dalam praktiknya. Implementasi seperti List itu umumnya harus mengimplementasikan antarmuka ini. Sebagai aturan praktis, List implementasi harus mengimplementasikan antarmuka ini jika, untuk instans umum kelas, perulangan ini:

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

berjalan lebih cepat dari perulangan ini:

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

Antarmuka ini adalah anggota Java Collections Framework.

Ditambahkan dalam 1.4.

Java dokumentasi untuk java.util.RandomAccess.

Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.

Properti

Nama Deskripsi
Handle

Mendapatkan nilai JNI dari objek Android yang mendasar.

(Diperoleh dari IJavaObject)
JniIdentityHashCode

Mengembalikan nilai java.lang.System.identityHashCode() untuk instans yang dibungkus.

(Diperoleh dari IJavaPeerable)
JniManagedPeerState

Status serekan terkelola.

(Diperoleh dari IJavaPeerable)
JniPeerMembers

Akses anggota dan dukungan pemanggilan.

(Diperoleh dari IJavaPeerable)
PeerReference

Mengembalikan instans objek Java yang dibungkusJniObjectReference.

(Diperoleh dari IJavaPeerable)

Metode

Nama Deskripsi
Disposed()

Dipanggil ketika instans telah dibuang.

(Diperoleh dari IJavaPeerable)
DisposeUnlessReferenced()

Jika tidak ada referensi yang luar biasa untuk instans ini, maka panggilan Dispose(); jika tidak, tidak melakukan apa pun.

(Diperoleh dari IJavaPeerable)
Finalized()

Dipanggil ketika instans telah diselesaikan.

(Diperoleh dari IJavaPeerable)
SetJniIdentityHashCode(Int32)

Atur nilai yang dikembalikan oleh JniIdentityHashCode.

(Diperoleh dari IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Antarmuka penanda yang digunakan oleh List implementasi untuk menunjukkan bahwa mereka mendukung akses acak yang cepat (umumnya waktu konstan).

(Diperoleh dari IJavaPeerable)
SetPeerReference(JniObjectReference)

Atur nilai yang dikembalikan oleh PeerReference.

(Diperoleh dari IJavaPeerable)
UnregisterFromRuntime()

Batalkan pendaftaran instans ini sehingga runtime tidak akan mengembalikannya dari pemanggilan di masa mendatang Java.Interop.JniRuntime+JniValueManager.PeekValue .

(Diperoleh dari IJavaPeerable)

Metode Ekstensi

Nama Deskripsi
GetJniTypeName(IJavaPeerable)

Mendapatkan nama JNI dari jenis instans self.

JavaAs<TResult>(IJavaPeerable)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

JavaCast<TResult>(IJavaObject)

Melakukan konversi jenis yang diperiksa runtime Android.

JavaCast<TResult>(IJavaObject)

Antarmuka penanda yang digunakan oleh List implementasi untuk menunjukkan bahwa mereka mendukung akses acak yang cepat (umumnya waktu konstan).

TryJavaCast<TResult>(IJavaPeerable, TResult)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

Berlaku untuk