ArrayList Sınıf

Tanım

IList Boyutu gerektiği gibi 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
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ArrayList = class
    interface IList
    interface ICloneable
    interface ICollection
    interface IEnumerable
Public Class ArrayList
Implements IList
Public Class ArrayList
Implements ICloneable, IList
Devralma
ArrayList
Türetilmiş
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki örnekte bir ArrayList oluşturma ve başlatma ile değerlerinin nasıl görüntüleneceği 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ı yeni geliştirme için kullanmanızı ArrayList ö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#'ta) 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 göreli performansının List<T> bir tartışması için başvuru konusunda Performansla İlgili Dikkat Edilmesi Gerekenler 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.

' ArrayList nin kapasitesi, barındırabileceği öğelerin ArrayList sayısıdır. öğesine öğe eklendikçe ArrayListkapasite, yeniden ayırma işlemiyle gerektiği gibi otomatik olarak artırılır. Kapasite çağrılarak TrimToSize veya özelliği açıkça ayarlanarak Capacity 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 bit sistemde maksimum kapasiteyi 2 milyar öğeye true çıkarabilirsiniz.

Bu koleksiyondaki öğelere bir 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.

Bir koleksiyonda ArrayList öğe olarak çok boyutlu dizilerin 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)

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

ArrayList(Int32)

Boş olan ve belirtilen başlangıç kapasitesine ArrayList sahip sınıfın 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çekte 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 nesne ArrayListekler.

AddRange(ICollection)

öğesinin ICollection öğelerini sonuna ArrayListekler.

BinarySearch(Int32, Int32, Object, IComparer)

Belirtilen karşılaştırıcıyı kullanarak bir öğe için sıralanmış ArrayList öğ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 tüm sıralanmış ArrayList öğ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)

öğesinden bir dizi öğeyi hedef dizinin belirtilen dizininden ArrayList başlayarak uyumlu bir tek boyutlu Arrayöğesine 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()

tüm 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 öğesinde belirtilen Object dizinden son öğeye genişleten öğe aralığındaki ArrayList ilk oluşumun sıfır tabanlı dizinini döndürür.

IndexOf(Object, Int32, Int32)

Belirtilen Object dizinini arar ve belirtilen dizinde başlayan ve belirtilen sayıda öğeyi içeren öğeleri 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 içindeki ilk öğeden belirtilen dizine genişleten öğe aralığındaki ArrayList son oluşumun sıfır tabanlı dizinini döndürür.

LastIndexOf(Object, Int32, Int32)

Belirtilen Object öğeyi arar ve öğesinde belirtilen sayıda öğe içeren ve belirtilen dizinde biten öğe aralığındaki ArrayList 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 dizinindeki ArrayListöğesini kaldırır.

RemoveRange(Int32, Int32)

öğesinden ArrayListbir öğe aralığını kaldı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 öğe aralığına kopyalar.

Sort()

tüm ArrayListiçindeki öğeleri sıralar.

Sort(IComparer)

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

Sort(Int32, Int32, IComparer)

Belirtilen karşılaştırıcıyı kullanarak içindeki bir öğ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()

öğelerini ArrayList 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)

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

AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini sağlar.

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.

, ArrayList koleksiyon 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.