ArrayList Kelas

Definisi

Implementasi array yang dapat diubah dari List antarmuka.

[Android.Runtime.Register("java/util/ArrayList", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class ArrayList : Java.Util.AbstractList, IDisposable, Java.IO.ISerializable, Java.Lang.ICloneable, Java.Util.IRandomAccess
[<Android.Runtime.Register("java/util/ArrayList", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type ArrayList = class
    inherit AbstractList
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ICloneable
    interface IList
    interface ICollection
    interface IIterable
    interface ISequencedCollection
    interface IRandomAccess
Warisan
Atribut
Penerapan

Keterangan

Implementasi array yang dapat diubah dari List antarmuka. Menerapkan semua operasi daftar opsional, dan mengizinkan semua elemen, termasuk null. Selain menerapkan List antarmuka, kelas ini menyediakan metode untuk memanipulasi ukuran array yang digunakan secara internal untuk menyimpan daftar. (Kelas ini kira-kira setara Vectordengan , kecuali tidak disinkronkan.)

Operasi size, , isEmptyget, set, iterator, dan listIterator berjalan dalam waktu konstan. add Operasi berjalan dalam waktu konstanta yang diamortisasi, yaitu, menambahkan elemen n memerlukan waktu O(n). Semua operasi lain berjalan dalam waktu linier (kira-kira berbicara). Faktor konstanta rendah dibandingkan dengan yang untuk LinkedList implementasi.

Setiap ArrayList instans memiliki kapasitas. Kapasitas adalah ukuran array yang digunakan untuk menyimpan elemen dalam daftar. Ini selalu setidaknya sebesar ukuran daftar. Saat elemen ditambahkan ke ArrayList, kapasitasnya tumbuh secara otomatis. Detail kebijakan pertumbuhan tidak ditentukan di luar fakta bahwa menambahkan elemen memiliki biaya waktu yang diamortisasi secara konstan.

Aplikasi dapat meningkatkan kapasitas ArrayList instans sebelum menambahkan sejumlah besar elemen menggunakan ensureCapacity operasi. Ini dapat mengurangi jumlah realokasi inkremental.

<kuat>Perhatikan bahwa implementasi ini tidak disinkronkan.</strong> Jika beberapa utas mengakses ArrayList instans secara bersamaan, dan setidaknya salah satu utas memodifikasi daftar secara struktural, itu harus disinkronkan secara eksternal. (Modifikasi struktural adalah operasi apa pun yang menambahkan atau menghapus satu atau beberapa elemen, atau secara eksplisit mengubah ukuran array backing; hanya mengatur nilai elemen bukan modifikasi struktural.) Ini biasanya dicapai dengan menyinkronkan pada beberapa objek yang secara alami merangkum daftar.

Jika tidak ada objek seperti itu, daftar harus "dibungkus" menggunakan Collections#synchronizedList Collections.synchronizedList metode . Ini paling baik dilakukan pada waktu pembuatan, untuk mencegah akses tidak disengaja yang tidak disinkronkan ke daftar:

List list = Collections.synchronizedList(new ArrayList(...));

Iterator yang dikembalikan oleh kelas ini dan #iterator() iterator metodenya adalah #listIterator(int) listIteratorem<fail-fast>/em<: jika daftar dimodifikasi secara struktural kapan saja setelah iterator dibuat, dengan cara apa pun kecuali melalui iterator sendiri > atau ListIterator#remove() remove metode, iterator akan melempar ListIterator#add(Object) add.ConcurrentModificationException Dengan demikian, dalam menghadapi modifikasi bersamaan, iterator gagal dengan cepat dan bersih, daripada berisiko perilaku arbitrer dan non-deterministik pada waktu yang tidak ditentukan di masa depan.

Perhatikan bahwa perilaku fail-fast dari iterator tidak dapat dijamin apa adanya, umumnya, tidak mungkin untuk membuat jaminan keras dengan adanya modifikasi bersamaan yang tidak disinkronkan. Iterator fail-fast melempar ConcurrentModificationException berdasarkan upaya terbaik. Oleh karena itu, akan salah untuk menulis program yang bergantung pada pengecualian ini untuk kebenarannya: perilaku iterator yang gagal cepat harus digunakan hanya untuk mendeteksi bug.

Kelas ini adalah anggota Java Collections Framework.

Ditambahkan dalam 1.2.

Java dokumentasi untuk java.util.ArrayList.

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.

Konstruktor

Nama Deskripsi
ArrayList()

Membuat daftar kosong dengan kapasitas awal sepuluh.

ArrayList(ICollection)

Membuat daftar yang berisi elemen koleksi yang ditentukan, dalam urutan yang dikembalikan oleh iterator koleksi.

ArrayList(Int32)

Membuat daftar kosong dengan kapasitas awal yang ditentukan.

ArrayList(IntPtr, JniHandleOwnership)

Konstruktor yang digunakan saat membuat representasi terkelola objek JNI; dipanggil oleh runtime.

Properti

Nama Deskripsi
Class

Mengembalikan kelas runtime dari .Object

(Diperoleh dari Object)
First

Untuk ditambahkan

Handle

Handel ke instans Android yang mendasar.

(Diperoleh dari Object)
IsEmpty

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
JniIdentityHashCode

Mendapatkan kode hash identitas yang ditetapkan ke Java peer ini oleh runtime interop.

(Diperoleh dari Object)
JniManagedPeerState

Implementasi array yang dapat diubah dari List antarmuka.

(Diperoleh dari JavaObject)
JniPeerMembers

Implementasi array yang dapat diubah dari List antarmuka.

Last

Untuk ditambahkan

ModCount

Frekuensi daftar ini diubah secara struktural.

(Diperoleh dari AbstractList)
PeerReference

Mendapatkan referensi objek JNI untuk peer Java ini.

(Diperoleh dari Object)
ThresholdClass

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

ThresholdType

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

Metode

Nama Deskripsi
Add(Int32, Object)

Untuk ditambahkan

(Diperoleh dari AbstractList)
Add(Object)

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
AddAll(ICollection)

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
AddAll(Int32, ICollection)

Untuk ditambahkan

(Diperoleh dari AbstractList)
AddFirst(Object)

Untuk ditambahkan

AddLast(Object)

Untuk ditambahkan

Clear()

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
Clone()

Mengembalikan salinan dangkal instans ini ArrayList .

Construct(JniObjectReference, JniObjectReferenceOptions)

Implementasi array yang dapat diubah dari List antarmuka.

(Diperoleh dari JavaObject)
Contains(Object)

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
ContainsAll(ICollection)

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
Dispose()

Merilis sumber daya yang dipegang oleh rekan Java ini.

(Diperoleh dari Object)
Dispose(Boolean)

Merilis sumber daya yang dipegang oleh rekan Java ini.

(Diperoleh dari Object)
DisposeUnlessReferenced()

Implementasi array yang dapat diubah dari List antarmuka.

(Diperoleh dari JavaObject)
EnsureCapacity(Int32)

Meningkatkan kapasitas instans ini ArrayList , jika perlu, untuk memastikan bahwa instans ini dapat menampung setidaknya jumlah elemen yang ditentukan oleh argumen kapasitas minimum.

Equals(Object)

Implementasi array yang dapat diubah dari List antarmuka.

(Diperoleh dari JavaObject)
Equals(Object)

Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini.

(Diperoleh dari Object)
ForEach(IConsumer)

Implementasi array yang dapat diubah dari List antarmuka.

Get(Int32)

Mengembalikan elemen pada posisi yang ditentukan dalam daftar ini.

GetHashCode()

Mengembalikan nilai kode hash untuk objek .

(Diperoleh dari Object)
IndexOf(Object)

Untuk ditambahkan

(Diperoleh dari AbstractList)
Iterator()

Mengembalikan iterator atas elemen dalam daftar ini dalam urutan yang tepat.

(Diperoleh dari AbstractList)
JavaFinalize()

Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek.

(Diperoleh dari Object)
LastIndexOf(Object)

Untuk ditambahkan

(Diperoleh dari AbstractList)
ListIterator()

Untuk ditambahkan

(Diperoleh dari AbstractList)
ListIterator(Int32)

Untuk ditambahkan

(Diperoleh dari AbstractList)
Notify()

Membangunkan satu utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
NotifyAll()

Membangunkan semua utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
Remove(Int32)

Untuk ditambahkan

(Diperoleh dari AbstractList)
Remove(Object)

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
RemoveAll(ICollection)

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
RemoveFirst()

Untuk ditambahkan

RemoveIf(IPredicate)

Implementasi array yang dapat diubah dari List antarmuka.

RemoveLast()

Untuk ditambahkan

RemoveRange(Int32, Int32)

Menghapus dari daftar ini semua elemen yang indeksnya antara fromIndex, inklusif, dan toIndex, eksklusif.

(Diperoleh dari AbstractList)
ReplaceAll(IUnaryOperator)

Implementasi array yang dapat diubah dari List antarmuka.

RetainAll(ICollection)

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
Set(Int32, Object)

Untuk ditambahkan

(Diperoleh dari AbstractList)
SetHandle(IntPtr, JniHandleOwnership)

Mengatur properti Handle.

(Diperoleh dari Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Implementasi array yang dapat diubah dari List antarmuka.

(Diperoleh dari JavaObject)
Size()

Mengembalikan jumlah elemen dalam daftar ini.

Sort(IComparator)

Implementasi array yang dapat diubah dari List antarmuka.

Spliterator()

<Membuat pengikatan>< terlambat/em> dan <mereka>fail-fast</em>Spliterator atas elemen dalam daftar ini.

SubList(Int32, Int32)

Untuk ditambahkan

(Diperoleh dari AbstractList)
ToArray()

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
ToArray(Object[])

Untuk ditambahkan

(Diperoleh dari AbstractCollection)
ToArray<T>()

Membuat array terkelola dari pembungkus array Java ini.

(Diperoleh dari Object)
ToString()

Mengembalikan representasi string objek.

(Diperoleh dari Object)
TrimToSize()

Memangkas kapasitas instans ini ArrayList menjadi ukuran daftar saat ini.

UnregisterFromRuntime()

Membatalkan pendaftaran peer Java ini dari runtime interop.

(Diperoleh dari Object)
Wait()

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>.

(Diperoleh dari Object)
Wait(Int64, Int32)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu.

(Diperoleh dari Object)
Wait(Int64)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah waktu nyata berlalu.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

Nama Deskripsi
IJavaPeerable.Disposed()

Implementasi array yang dapat diubah dari List antarmuka.

(Diperoleh dari JavaObject)
IJavaPeerable.Finalized()

Implementasi array yang dapat diubah dari List antarmuka.

(Diperoleh dari JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Implementasi array yang dapat diubah dari List antarmuka.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Implementasi array yang dapat diubah dari List antarmuka.

(Diperoleh dari JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Implementasi array yang dapat diubah dari List antarmuka.

(Diperoleh dari JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Implementasi array yang dapat diubah dari List antarmuka.

(Diperoleh dari JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Implementasi array yang dapat diubah dari List antarmuka.

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)

Implementasi array yang dapat diubah dari List antarmuka.

ToEnumerable(IIterable)

Implementasi array yang dapat diubah dari List antarmuka.

ToEnumerable<T>(IIterable)

Implementasi array yang dapat diubah dari List antarmuka.

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

Berlaku untuk