ArrayList Sınıf

Tanım

IList Gerektiğinde boyutu dinamik olarak artan bir dizi kullanarak arabirimini uygular.

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
Devralma
ArrayList
Türetilmiş
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki örnekte, oluşturma ArrayList ve başlatma ve değerlerini görüntüleme işlemleri gösterilmektedir.

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   !

Açıklamalar

Önemli

sınıfını ArrayList yeni geliştirme için kullanmanızı önermiyoruz. Bunun yerine, genel List<T> sınıfı kullanmanızı öneririz. ArrayList sınıfı, heterojen nesne koleksiyonlarını barındıracak şekilde tasarlanmıştır. Ancak, her zaman en iyi performansı sunmaz. Bunun yerine aşağıdakileri öneririz:

  • Heterojen bir nesne koleksiyonu için (C# dilinde) veya List(Of Object) (Visual Basic'te) türünü kullanın List<Object> .
  • Homojen bir nesne koleksiyonu için sınıfını List<T> kullanın. Bu sınıfların List<T> göreli performansına ilişkin bir tartışma için başvuru konusunun Performansla İlgili Önemli Noktalar bölümüne bakın. Genel olmayan koleksiyon türleri yerine genel kullanımı hakkında genel bilgiler için bkz. GitHub'da genel olmayan koleksiyonlar kullanılmamalıdır.

öğesinin ArrayList sıralanması garanti değildir. sıralamasını ArrayList gerektiren ArrayList işlemleri (örneğinBinarySearch) gerçekleştirmeden önce yöntemini çağırarak Sort sıralamanız gerekir. Yeni öğeler eklendikçe otomatik olarak sıralanan bir koleksiyonu korumak için sınıfını SortedSet<T> kullanabilirsiniz.

bir'in ArrayList kapasitesi, barındırabileceği öğelerin ArrayList sayısıdır. öğesine ArrayListöğe eklendikçe, kapasite yeniden konumlandırma yoluyla gerektiği gibi otomatik olarak artırılır. Çağrılarak TrimToSize veya özelliği açıkça ayarlanarak Capacity kapasite azaltılabilir.

Yalnızca .NET Framework: Çok büyük ArrayList nesneler için, çalışma zamanı ortamında yapılandırma öğesinin özniteliğini <gcAllowVeryLargeObjects> olarak ayarlayarak enabled 64 bitlik bir sistemde maksimum kapasiteyi 2 milyar öğeye true çıkarabilirsiniz.

Bu koleksiyondaki öğelere tamsayı dizini kullanılarak erişilebilir. Bu koleksiyondaki dizinler sıfır tabanlıdır.

Koleksiyon ArrayList geçerli bir değer olarak kabul eder null . Ayrıca yinelenen öğelere de izin verir.

Çok boyutlu dizilerin bir ArrayList koleksiyonda öğe olarak kullanılması desteklenmez.

Oluşturucular

ArrayList()

Sınıfın ArrayList boş ve varsayılan başlangıç kapasitesine sahip yeni bir örneğini başlatır.

ArrayList(ICollection)

Sınıfın ArrayList , belirtilen koleksiyondan kopyalanan ve kopyalanan öğe sayısıyla aynı başlangıç kapasitesine sahip öğeleri içeren yeni bir örneğini başlatır.

ArrayList(Int32)

Sınıfın ArrayList boş ve belirtilen başlangıç kapasitesine sahip yeni bir örneğini başlatır.

Özellikler

Capacity

öğesinin içerebileceği öğe ArrayList sayısını alır veya ayarlar.

Count

içinde gerçekten bulunan ArrayListöğelerin sayısını alır.

IsFixedSize

değerinin sabit bir boyuta sahip olup olmadığını ArrayList belirten bir değer alır.

IsReadOnly

ArrayList öğesinin salt okunur olup olmadığını belirten bir değer alır.

IsSynchronized

erişimin ArrayList eşitlenip eşitlenmediğini belirten bir değer alır (iş parçacığı güvenli).

Item[Int32]

Belirtilen dizindeki öğeyi alır veya ayarlar.

SyncRoot

erişimi ArrayListeşitlemek için kullanılabilecek bir nesnesi alır.

Yöntemler

Adapter(IList)

Belirli IListbir için sarmalayıcı ArrayList oluşturur.

Add(Object)

sonuna bir nesnesi ArrayListekler.

AddRange(ICollection)

öğesinin ICollection öğelerini öğesinin ArrayListsonuna ekler.

BinarySearch(Int32, Int32, Object, IComparer)

Belirtilen karşılaştırıcıyı kullanarak bir öğe için sıralanmış ArrayList içindeki bir öğe aralığını arar ve öğenin sıfır tabanlı dizinini döndürür.

BinarySearch(Object)

Varsayılan karşılaştırıcıyı kullanarak tüm sıralanmış ArrayList öğeyi arar ve öğenin sıfır tabanlı dizinini döndürür.

BinarySearch(Object, IComparer)

Belirtilen karşılaştırıcıyı kullanarak bir öğe için sıralanmış ArrayList olan tüm öğeyi arar ve öğenin sıfır tabanlı dizinini döndürür.

Clear()

Tüm öğeleri ArrayList koleksiyonundan kaldırır.

Clone()

öğesinin ArrayListsığ bir kopyasını oluşturur.

Contains(Object)

Bir öğenin içinde ArrayListolup olmadığını belirler.

CopyTo(Array)

Tamamını ArrayList , hedef dizinin başlangıcından başlayarak uyumlu bir tek boyutlu Arrayöğesine kopyalar.

CopyTo(Array, Int32)

Hedef dizinin belirtilen dizininden başlayarak tamamını ArrayList uyumlu bir tek boyutlu Arrayöğesine kopyalar.

CopyTo(Int32, Array, Int32, Int32)

hedef dizinin belirtilen dizininden başlayarak öğesinden ArrayList uyumlu bir tek boyutlu Arrayöğesine bir öğe aralığı kopyalar.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
FixedSize(ArrayList)

Sabit boyutlu bir ArrayList sarmalayıcı döndürür.

FixedSize(IList)

Sabit boyutlu bir IList sarmalayıcı döndürür.

GetEnumerator()

öğesinin tamamı ArrayListiçin bir numaralandırıcı döndürür.

GetEnumerator(Int32, Int32)

içindeki ArrayListbir öğe aralığı için bir numaralandırıcı döndürür.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetRange(Int32, Int32)

kaynağındaki ArrayListöğelerin bir alt kümesini temsil eden bir ArrayList döndürür.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IndexOf(Object)

Belirtilen Object öğesini arar ve tüm ArrayListiçindeki ilk oluşumun sıfır tabanlı dizinini döndürür.

IndexOf(Object, Int32)

Belirtilen öğesini arar ve öğesindeki belirtilen Object dizinden son öğeye kadar uzanan öğe ArrayList aralığındaki ilk oluşumun sıfır tabanlı dizinini döndürür.

IndexOf(Object, Int32, Int32)

Belirtilen öğesini arar ve içinde belirtilen Object dizinde başlayan ve belirtilen sayıda öğeyi içeren öğe ArrayList aralığındaki ilk oluşumun sıfır tabanlı dizinini döndürür.

Insert(Int32, Object)

Belirtilen dizinde öğesine ArrayList bir öğe ekler.

InsertRange(Int32, ICollection)

Bir koleksiyonun öğelerini belirtilen dizine ekler ArrayList .

LastIndexOf(Object)

Belirtilen Object öğesini arar ve içindeki ArrayListson oluşumun sıfır tabanlı dizinini döndürür.

LastIndexOf(Object, Int32)

Belirtilen Object öğesini arar ve öğesindeki ilk öğeden belirtilen dizine kadar uzanan öğe aralığındaki ArrayList son oluşumun sıfır tabanlı dizinini döndürür.

LastIndexOf(Object, Int32, Int32)

Belirtilen öğesini arar ve öğesinde belirtilen Object sayıda öğe içeren ve belirtilen dizinde ArrayList biten öğe aralığındaki son oluşumun sıfır tabanlı dizinini döndürür.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ReadOnly(ArrayList)

Salt ArrayList okunur sarmalayıcı döndürür.

ReadOnly(IList)

Salt IList okunur sarmalayıcı döndürür.

Remove(Object)

belirli bir nesnenin ilk oluşumunu öğesinden ArrayListkaldırır.

RemoveAt(Int32)

öğesinin belirtilen dizininde öğesini ArrayListkaldırır.

RemoveRange(Int32, Int32)

öğesinden bir dizi öğeyi ArrayListkaldırır.

Repeat(Object, Int32)

Öğeleri belirtilen değerin kopyaları olan bir ArrayList döndürür.

Reverse()

öğesinin tamamında ArrayListöğelerin sırasını tersine çevirir.

Reverse(Int32, Int32)

Belirtilen aralıktaki öğelerin sırasını tersine çevirir.

SetRange(Int32, ICollection)

Bir koleksiyonun öğelerini içindeki ArrayListbir dizi öğeye kopyalar.

Sort()

öğesinin tamamında ArrayListöğeleri sıralar.

Sort(IComparer)

Belirtilen karşılaştırıcıyı kullanarak tüm ArrayList öğeyi sıralar.

Sort(Int32, Int32, IComparer)

Belirtilen karşılaştırıcıyı kullanarak içindeki öğe aralığındaki ArrayList öğeleri sıralar.

Synchronized(ArrayList)

Eşitlenmiş bir ArrayList sarmalayıcı döndürür (iş parçacığı güvenli).

Synchronized(IList)

Eşitlenmiş bir IList sarmalayıcı döndürür (iş parçacığı güvenli).

ToArray()

öğesinin ArrayList öğelerini yeni Object bir diziye kopyalar.

ToArray(Type)

öğesinin ArrayList öğelerini belirtilen öğe türünde yeni bir diziye kopyalar.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)
TrimToSize()

Kapasiteyi içindeki gerçek öğe ArrayListsayısına ayarlar.

Uzantı Metotları

Cast<TResult>(IEnumerable)

öğesinin IEnumerable öğelerini belirtilen türe atar.

OfType<TResult>(IEnumerable)

Öğesinin IEnumerable öğelerini belirtilen türe göre filtreler.

AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini etkinleştirir.

AsQueryable(IEnumerable)

bir IEnumerable öğesini öğesine IQueryabledönüştürür.

Şunlara uygulanır

İş Parçacığı Güvenliği

Bu türün genel statik (Shared Visual Basic'te) üyeleri iş parçacığı güvenlidir. Örnek üyelerin iş parçacığı güvenli olmaları garanti edilmez.

koleksiyonu ArrayList değiştirilmediği sürece birden çok okuyucuyu eşzamanlı olarak destekleyebilir. öğesinin iş parçacığı güvenliğini ArrayListgaranti etmek için tüm işlemlerin yöntemi tarafından Synchronized(IList) döndürülen sarmalayıcı aracılığıyla yapılması gerekir.

Bir koleksiyon ile numaralandırma, aslında iş parçacığı açısından güvenli yordam değildir. Bir koleksiyon eşitlendiği zaman bile, diğer iş parçacıkları numaralandırıcının özel durum oluşturmasına neden olan koleksiyonu değiştirebilir. Numaralandırma sırasında iş parçacığı güvenliği sağlamak için tüm numaralandırma sırasında koleksiyonu kilitleyebilir veya diğer iş parçacıkları tarafından yapılan değişikliklerden kaynaklanan özel durumları yakalayabilirsiniz.

Ayrıca bkz.