ArrayList Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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 . |
| 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 |
| JniPeerMembers |
Implementasi array yang dapat diubah dari |
| 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 |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Implementasi array yang dapat diubah dari |
| 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 |
| EnsureCapacity(Int32) |
Meningkatkan kapasitas instans ini |
| Equals(Object) |
Implementasi array yang dapat diubah dari |
| Equals(Object) |
Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini. (Diperoleh dari Object) |
| ForEach(IConsumer) |
Implementasi array yang dapat diubah dari |
| 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 |
| RemoveLast() |
Untuk ditambahkan |
| RemoveRange(Int32, Int32) |
Menghapus dari daftar ini semua elemen yang indeksnya antara |
| ReplaceAll(IUnaryOperator) |
Implementasi array yang dapat diubah dari |
| 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 |
| Size() |
Mengembalikan jumlah elemen dalam daftar ini. |
| Sort(IComparator) |
Implementasi array yang dapat diubah dari |
| Spliterator() |
<Membuat pengikatan>< terlambat/em> dan <mereka>fail-fast</em> |
| 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 |
| 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 |
| IJavaPeerable.Finalized() |
Implementasi array yang dapat diubah dari |
| IJavaPeerable.JniObjectReferenceControlBlock |
Implementasi array yang dapat diubah dari |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Implementasi array yang dapat diubah dari |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Implementasi array yang dapat diubah dari |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Implementasi array yang dapat diubah dari |
| IJavaPeerable.UnregisterFromRuntime() |
Implementasi array yang dapat diubah dari |
Metode Ekstensi
| Nama | Deskripsi |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Mendapatkan nama JNI dari jenis instans |
| JavaAs<TResult>(IJavaPeerable) |
Cobalah untuk memaksa |
| JavaCast<TResult>(IJavaObject) |
Melakukan konversi jenis yang diperiksa runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Implementasi array yang dapat diubah dari |
| ToEnumerable(IIterable) |
Implementasi array yang dapat diubah dari |
| ToEnumerable<T>(IIterable) |
Implementasi array yang dapat diubah dari |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Cobalah untuk memaksa |