ArrayList Kelas

Definisi

IList Mengimplementasikan antarmuka menggunakan array yang ukurannya meningkat 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 ArrayList kelas untuk pengembangan baru. Sebagai gantinya, kami sarankan Anda menggunakan kelas generik List<T> . Kelas ArrayList ini dirancang untuk menyimpan koleksi objek heterogen. Namun, itu tidak selalu menawarkan performa terbaik. Sebagai gantinya, kami merekomendasikan hal berikut:

  • Untuk kumpulan objek heterogen, gunakan List<Object> jenis (dalam C#) atau List(Of Object) (dalam Visual Basic).
  • Untuk koleksi objek yang homogen, gunakan List<T> kelas . Lihat Pertimbangan Performa dalam List<T> 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 metodenya Sort sebelum melakukan operasi (seperti BinarySearch) yang mengharuskan ArrayList diurutkan. Untuk mempertahankan koleksi yang diurutkan secara otomatis saat elemen baru ditambahkan, Anda dapat menggunakan SortedSet<T> kelas .

Kapasitas dari adalah ArrayList 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 Capacity properti secara eksplisit.

hanya .NET Framework: Untuk objek yang sangat besarArrayList, Anda dapat meningkatkan kapasitas maksimum menjadi 2 miliar elemen pada sistem 64-bit dengan mengatur enabled atribut <gcAllowVeryLargeObjects> elemen konfigurasi 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 ArrayList koleksi tidak didukung.

Konstruktor

ArrayList()

Menginisialisasi instans ArrayList baru kelas yang kosong dan memiliki kapasitas awal default.

ArrayList(ICollection)

Menginisialisasi instans ArrayList baru kelas 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 disinkronkan ArrayList (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)

Membuat pembungkus ArrayList untuk tertentu IList.

Add(Object)

Menambahkan objek ke akhir ArrayList.

AddRange(ICollection)

Menambahkan elemen dari ke ICollection akhir ArrayList.

BinarySearch(Int32, Int32, Object, IComparer)

Mencari rentang elemen dalam yang diurutkan ArrayList untuk elemen menggunakan perbandingan yang ditentukan dan mengembalikan indeks elemen berbasis nol.

BinarySearch(Object)

Mencari seluruh yang diurutkan ArrayList untuk elemen menggunakan pembanding default dan mengembalikan indeks elemen berbasis nol.

BinarySearch(Object, IComparer)

Mencari seluruh yang diurutkan ArrayList untuk elemen menggunakan pembanding yang ditentukan dan mengembalikan indeks elemen berbasis nol.

Clear()

Menghapus semua elemen dari ArrayList.

Clone()

Membuat salinan dangkal dari ArrayList.

Contains(Object)

Menentukan apakah elemen berada di ArrayList.

CopyTo(Array)

Menyalin seluruh ArrayList ke satu dimensi Arrayyang kompatibel, dimulai dari awal array target.

CopyTo(Array, Int32)

Menyalin seluruh ArrayList ke satu dimensi Arrayyang kompatibel, dimulai dari indeks array target yang ditentukan.

CopyTo(Int32, Array, Int32, Int32)

Menyalin berbagai elemen dari ArrayList ke satu dimensi Arrayyang 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 yang ArrayList mewakili subset elemen di sumber ArrayList.

GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
IndexOf(Object)

Mencari yang ditentukan Object dan mengembalikan indeks berbasis nol dari kemunculan pertama dalam seluruh ArrayList.

IndexOf(Object, Int32)

Mencari yang ditentukan Object dan mengembalikan indeks berbasis nol dari kemunculan pertama dalam rentang elemen dalam ArrayList yang meluas dari indeks yang ditentukan ke elemen terakhir.

IndexOf(Object, Int32, Int32)

Mencari yang ditentukan Object 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.

Insert(Int32, Object)

Menyisipkan elemen ke dalam pada ArrayList indeks yang ditentukan.

InsertRange(Int32, ICollection)

Menyisipkan elemen koleksi ke dalam pada ArrayList indeks yang ditentukan.

LastIndexOf(Object)

Mencari yang ditentukan Object dan mengembalikan indeks berbasis nol dari kemunculan terakhir dalam seluruh ArrayList.

LastIndexOf(Object, Int32)

Mencari yang ditentukan Object dan mengembalikan indeks berbasis nol dari kemunculan terakhir dalam rentang elemen dalam ArrayList yang meluas dari elemen pertama ke indeks yang ditentukan.

LastIndexOf(Object, Int32, Int32)

Mencari yang ditentukan Object 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.

MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ReadOnly(ArrayList)

Mengembalikan pembungkus baca-saja ArrayList .

ReadOnly(IList)

Mengembalikan pembungkus baca-saja IList .

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 elemen ArrayList yang merupakan 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 di ArrayList.

Sort()

Mengurutkan elemen di seluruh ArrayList.

Sort(IComparer)

Mengurutkan elemen di seluruh ArrayList menggunakan perbandingan 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()

Menyalin elemen ke ArrayList array baru Object .

ToArray(Type)

Menyalin elemen ke ArrayList 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 di ArrayList.

Metode Ekstensi

Cast<TResult>(IEnumerable)

Mentransmisikan elemen dari ke IEnumerable jenis yang ditentukan.

OfType<TResult>(IEnumerable)

Memfilter elemen berdasarkan IEnumerable jenis yang ditentukan.

AsParallel(IEnumerable)

Mengaktifkan paralelisasi kueri.

AsQueryable(IEnumerable)

Mengonversi menjadi IEnumerableIQueryable.

Berlaku untuk

Keamanan Thread

Anggota statis publik (Shared dalam Visual Basic) jenis ini aman untuk utas. Setiap anggota instans tidak dijamin aman untuk utas.

Dapat ArrayList mendukung beberapa pembaca secara bersamaan, selama koleksi tidak dimodifikasi. Untuk menjamin keamanan ArrayListutas , semua operasi harus dilakukan melalui pembungkus yang dikembalikan oleh Synchronized(IList) metode .

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.

Lihat juga