Bagikan melalui


ArrayList Kelas

Definisi

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#) atau List(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)

Membuat pembungkus ArrayList untuk IListtertentu.

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()

Menyalin elemen ArrayList ke array Object baru.

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.

Lihat juga