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.
Mengimplementasikan antarmuka IList menggunakan array yang ukurannya ditingkatkan secara dinamis sesuai kebutuhan.
public ref class ArrayList : System::Collections::IList
public ref class ArrayList : ICloneable, System::Collections::IList
public class ArrayList : System.Collections.IList
public class ArrayList : ICloneable, System.Collections.IList
[System.Serializable]
public class ArrayList : ICloneable, System.Collections.IList
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class ArrayList : ICloneable, System.Collections.IList
type ArrayList = class
interface IEnumerable
interface IList
interface ICollection
type ArrayList = class
interface ICollection
interface IEnumerable
interface IList
interface ICloneable
type ArrayList = class
interface IEnumerable
interface IList
interface ICollection
interface ICloneable
[<System.Serializable>]
type ArrayList = class
interface IList
interface ICollection
interface IEnumerable
interface ICloneable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ArrayList = class
interface IList
interface ICollection
interface IEnumerable
interface ICloneable
Public Class ArrayList
Implements IList
Public Class ArrayList
Implements ICloneable, IList
- Warisan
-
ArrayList
- Turunan
- Atribut
- Penerapan
Contoh
Contoh berikut menunjukkan cara membuat dan menginisialisasi ArrayList dan cara menampilkan nilainya.
using namespace System;
using namespace System::Collections;
void PrintValues( IEnumerable^ myList );
int main()
{
// Creates and initializes a new ArrayList.
ArrayList^ myAL = gcnew ArrayList;
myAL->Add( "Hello" );
myAL->Add( "World" );
myAL->Add( "!" );
// Displays the properties and values of the ArrayList.
Console::WriteLine( "myAL" );
Console::WriteLine( " Count: {0}", myAL->Count );
Console::WriteLine( " Capacity: {0}", myAL->Capacity );
Console::Write( " Values:" );
PrintValues( myAL );
}
void PrintValues( IEnumerable^ myList )
{
IEnumerator^ myEnum = myList->GetEnumerator();
while ( myEnum->MoveNext() )
{
Object^ obj = safe_cast<Object^>(myEnum->Current);
Console::Write( " {0}", obj );
}
Console::WriteLine();
}
/*
This code produces output similar to the following:
myAL
Count: 3
Capacity: 4
Values: Hello World !
*/
using System;
using System.Collections;
public class SamplesArrayList {
public static void Main() {
// Creates and initializes a new ArrayList.
ArrayList myAL = new ArrayList();
myAL.Add("Hello");
myAL.Add("World");
myAL.Add("!");
// Displays the properties and values of the ArrayList.
Console.WriteLine( "myAL" );
Console.WriteLine( " Count: {0}", myAL.Count );
Console.WriteLine( " Capacity: {0}", myAL.Capacity );
Console.Write( " Values:" );
PrintValues( myAL );
}
public static void PrintValues( IEnumerable myList ) {
foreach ( Object obj in myList )
Console.Write( " {0}", obj );
Console.WriteLine();
}
}
/*
This code produces output similar to the following:
myAL
Count: 3
Capacity: 4
Values: Hello World !
*/
Imports System.Collections
Public Class SamplesArrayList
Public Shared Sub Main()
' Creates and initializes a new ArrayList.
Dim myAL As New ArrayList()
myAL.Add("Hello")
myAL.Add("World")
myAL.Add("!")
' Displays the properties and values of the ArrayList.
Console.WriteLine("myAL")
Console.WriteLine(" Count: {0}", myAL.Count)
Console.WriteLine(" Capacity: {0}", myAL.Capacity)
Console.Write(" Values:")
PrintValues(myAL)
End Sub
Public Shared Sub PrintValues(myList As IEnumerable)
Dim obj As [Object]
For Each obj In myList
Console.Write(" {0}", obj)
Next obj
Console.WriteLine()
End Sub
End Class
' This code produces output similar to the following:
'
' myAL
' Count: 3
' Capacity: 4
' Values: Hello World !
Keterangan
Penting
Kami tidak menyarankan Anda menggunakan kelas ArrayList
untuk pengembangan baru. Sebagai gantinya, kami sarankan Anda menggunakan kelas List<T> generik.
Kelas ArrayList dirancang untuk menyimpan koleksi objek heterogen. Namun, itu tidak selalu menawarkan performa terbaik. Sebagai gantinya, kami merekomendasikan hal berikut:
- Untuk kumpulan objek heterogen, gunakan jenis
List<Object>
(dalam C#) atauList(Of Object)
(dalam Visual Basic). - Untuk kumpulan objek yang homogen, gunakan kelas List<T>.
Lihat Pertimbangan Performa
dalam topik referensi untuk diskusi tentang performa relatif kelas-kelas ini. Lihat Koleksi non-generik tidak boleh digunakan di GitHub untuk informasi umum tentang penggunaan generik alih-alih jenis koleksi non-generik.
ArrayList tidak dijamin akan diurutkan. Anda harus mengurutkan ArrayList dengan memanggil metode Sort sebelum melakukan operasi (seperti BinarySearch) yang mengharuskan ArrayList diurutkan. Untuk mempertahankan koleksi yang diurutkan secara otomatis saat elemen baru ditambahkan, Anda dapat menggunakan kelas SortedSet<T>.
Kapasitas ArrayList adalah jumlah elemen yang dapat ditahan ArrayList. Karena elemen ditambahkan ke ArrayList, kapasitas secara otomatis ditingkatkan sesuai kebutuhan melalui realokasi. Kapasitas dapat dikurangi dengan memanggil TrimToSize atau dengan mengatur properti Capacity secara eksplisit.
.NET Framework saja: Untuk objek ArrayList yang sangat besar, Anda dapat meningkatkan kapasitas maksimum menjadi 2 miliar elemen pada sistem 64-bit dengan mengatur atribut enabled
elemen konfigurasi <gcAllowVeryLargeObjects>
ke true
di lingkungan run-time.
Elemen dalam koleksi ini dapat diakses menggunakan indeks bilangan bulat. Indeks dalam koleksi ini berbasis nol.
Koleksi ArrayList menerima null
sebagai nilai yang valid. Ini juga memungkinkan elemen duplikat.
Menggunakan array multidimensi sebagai elemen dalam koleksi ArrayList tidak didukung.
Konstruktor
ArrayList() |
Menginisialisasi instans baru kelas ArrayList yang kosong dan memiliki kapasitas awal default. |
ArrayList(ICollection) |
Menginisialisasi instans baru kelas ArrayList yang berisi elemen yang disalin dari koleksi yang ditentukan dan yang memiliki kapasitas awal yang sama dengan jumlah elemen yang disalin. |
ArrayList(Int32) |
Menginisialisasi instans baru kelas ArrayList yang kosong dan memiliki kapasitas awal yang ditentukan. |
Properti
Capacity |
Mendapatkan atau mengatur jumlah elemen yang dapat dimuat ArrayList. |
Count |
Mendapatkan jumlah elemen yang benar-benar terkandung dalam ArrayList. |
IsFixedSize |
Mendapatkan nilai yang menunjukkan apakah ArrayList memiliki ukuran tetap. |
IsReadOnly |
Mendapatkan nilai yang menunjukkan apakah ArrayList bersifat baca-saja. |
IsSynchronized |
Mendapatkan nilai yang menunjukkan apakah akses ke ArrayList disinkronkan (utas aman). |
Item[Int32] |
Mendapatkan atau mengatur elemen pada indeks yang ditentukan. |
SyncRoot |
Mendapatkan objek yang dapat digunakan untuk menyinkronkan akses ke ArrayList. |
Metode
Adapter(IList) | |
Add(Object) |
Menambahkan objek ke akhir ArrayList. |
AddRange(ICollection) |
Menambahkan elemen ICollection ke akhir ArrayList. |
BinarySearch(Int32, Int32, Object, IComparer) |
Mencari rentang elemen dalam ArrayList yang diurutkan untuk elemen menggunakan pembanding yang ditentukan dan mengembalikan indeks elemen berbasis nol. |
BinarySearch(Object, IComparer) |
Mencari seluruh ArrayList yang diurutkan untuk elemen menggunakan pembanding yang ditentukan dan mengembalikan indeks elemen berbasis nol. |
BinarySearch(Object) |
Mencari seluruh ArrayList yang diurutkan untuk elemen menggunakan pembanding default dan mengembalikan indeks elemen berbasis nol. |
Clear() |
Menghapus semua elemen dari ArrayList. |
Clone() |
Membuat salinan dangkal dari ArrayList. |
Contains(Object) |
Menentukan apakah elemen berada dalam ArrayList. |
CopyTo(Array, Int32) |
Menyalin seluruh ArrayList ke Arraysatu dimensi yang kompatibel, dimulai pada indeks array target yang ditentukan. |
CopyTo(Array) |
Menyalin seluruh ArrayList ke Arraysatu dimensi yang kompatibel , dimulai di awal array target. |
CopyTo(Int32, Array, Int32, Int32) |
Menyalin rentang elemen dari ArrayList ke Arraysatu dimensi yang kompatibel , dimulai pada indeks array target yang ditentukan. |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
FixedSize(ArrayList) |
Mengembalikan pembungkus ArrayList dengan ukuran tetap. |
FixedSize(IList) |
Mengembalikan pembungkus IList dengan ukuran tetap. |
GetEnumerator() |
Mengembalikan enumerator untuk seluruh ArrayList. |
GetEnumerator(Int32, Int32) |
Mengembalikan enumerator untuk rentang elemen dalam ArrayList. |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetRange(Int32, Int32) |
Mengembalikan ArrayList yang mewakili subset elemen dalam sumber ArrayList. |
GetType() |
Mendapatkan Type instans saat ini. (Diperoleh dari Object) |
IndexOf(Object, Int32, Int32) |
Mencari Object yang ditentukan dan mengembalikan indeks berbasis nol dari kemunculan pertama dalam rentang elemen dalam ArrayList yang dimulai pada indeks yang ditentukan dan berisi jumlah elemen yang ditentukan. |
IndexOf(Object, Int32) |
Mencari Object yang ditentukan dan mengembalikan indeks berbasis nol dari kemunculan pertama dalam rentang elemen dalam ArrayList yang meluas dari indeks yang ditentukan ke elemen terakhir. |
IndexOf(Object) |
Mencari Object yang ditentukan dan mengembalikan indeks berbasis nol dari kemunculan pertama dalam seluruh ArrayList. |
Insert(Int32, Object) |
Menyisipkan elemen ke dalam ArrayList pada indeks yang ditentukan. |
InsertRange(Int32, ICollection) |
Menyisipkan elemen koleksi ke dalam ArrayList pada indeks yang ditentukan. |
LastIndexOf(Object, Int32, Int32) |
Mencari Object yang ditentukan dan mengembalikan indeks berbasis nol dari kemunculan terakhir dalam rentang elemen dalam ArrayList yang berisi jumlah elemen yang ditentukan dan berakhir pada indeks yang ditentukan. |
LastIndexOf(Object, Int32) |
Mencari Object yang ditentukan dan mengembalikan indeks berbasis nol dari kemunculan terakhir dalam rentang elemen dalam ArrayList yang meluas dari elemen pertama ke indeks yang ditentukan. |
LastIndexOf(Object) |
Mencari Object yang ditentukan dan mengembalikan indeks berbasis nol dari kemunculan terakhir dalam seluruh ArrayList. |
MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
ReadOnly(ArrayList) |
Mengembalikan pembungkus ArrayList baca-saja. |
ReadOnly(IList) |
Mengembalikan pembungkus IList baca-saja. |
Remove(Object) |
Menghapus kemunculan pertama objek tertentu dari ArrayList. |
RemoveAt(Int32) |
Menghapus elemen pada indeks yang ditentukan dari ArrayList. |
RemoveRange(Int32, Int32) |
Menghapus berbagai elemen dari ArrayList. |
Repeat(Object, Int32) |
Mengembalikan ArrayList yang elemennya adalah salinan dari nilai yang ditentukan. |
Reverse() |
Membalikkan urutan elemen di seluruh ArrayList. |
Reverse(Int32, Int32) |
Membalikkan urutan elemen dalam rentang yang ditentukan. |
SetRange(Int32, ICollection) |
Menyalin elemen koleksi di atas berbagai elemen dalam ArrayList. |
Sort() |
Mengurutkan elemen di seluruh ArrayList. |
Sort(IComparer) |
Mengurutkan elemen di seluruh ArrayList menggunakan pembanding yang ditentukan. |
Sort(Int32, Int32, IComparer) |
Mengurutkan elemen dalam rentang elemen dalam ArrayList menggunakan pembanding yang ditentukan. |
Synchronized(ArrayList) |
Mengembalikan pembungkus ArrayList yang disinkronkan (utas aman). |
Synchronized(IList) |
Mengembalikan pembungkus IList yang disinkronkan (utas aman). |
ToArray() | |
ToArray(Type) |
Menyalin elemen ArrayList ke array baru dari jenis elemen yang ditentukan. |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
TrimToSize() |
Mengatur kapasitas ke jumlah elemen aktual dalam ArrayList. |
Metode Ekstensi
Cast<TResult>(IEnumerable) |
Melemparkan elemen IEnumerable ke jenis yang ditentukan. |
OfType<TResult>(IEnumerable) |
Memfilter elemen IEnumerable berdasarkan jenis tertentu. |
AsParallel(IEnumerable) |
Mengaktifkan paralelisasi kueri. |
AsQueryable(IEnumerable) |
Mengonversi IEnumerable menjadi IQueryable. |
Berlaku untuk
Keamanan Thread
Anggota statis publik (Shared
di Visual Basic) dari jenis ini aman untuk utas. Setiap anggota instans tidak dijamin aman untuk utas.
ArrayList dapat mendukung beberapa pembaca secara bersamaan, selama koleksi tidak dimodifikasi. Untuk menjamin keamanan utas ArrayList, semua operasi harus dilakukan melalui pembungkus yang dikembalikan oleh metode Synchronized(IList).
Menghitung melalui koleksi secara intrinsik bukan prosedur aman utas. Bahkan ketika koleksi disinkronkan, utas lain masih dapat memodifikasi koleksi, yang menyebabkan enumerator melemparkan pengecualian. Untuk menjamin keamanan utas selama enumerasi, Anda dapat mengunci koleksi selama seluruh enumerasi atau menangkap pengecualian yang dihasilkan dari perubahan yang dibuat oleh utas lain.