Aracılığıyla paylaş


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
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 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# 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 konusuna 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.

ArrayList öğesinin sıralı olacağı garanti edilmez. 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 ArrayList öğesinin kapasitesi, barındırabileceği öğelerin ArrayList sayısıdır. öğesine öğeler eklendikçe ArrayListkapasite, yeniden ayırma aracılığıyla 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, yapılandırma öğesinin özniteliğini çalışma zamanı ortamında olarak ayarlayarak enabled 64 bitlik bir sistemde maksimum kapasiteyi <gcAllowVeryLargeObjects> 2 milyar öğeye true yükseltebilirsiniz.

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

Name Description
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

Name Description
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

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

IsSynchronized

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

Item[Int32]

Belirtilen dizinde öğesini alır veya ayarlar.

SyncRoot

ArrayListerişimini eşitlemek için kullanılabilecek bir nesnesi alır.

Yöntemler

Name Description
Adapter(IList)

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

Add(Object)

sonuna bir nesne 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 öğe aralığını 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.

BinarySearch(Object)

Varsayılan 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()

öğesinden ArrayListtüm öğeleri kaldırır.

Clone()

öğesinin sığ bir kopyasını ArrayListoluşturur.

Contains(Object)

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

CopyTo(Array, Int32)

Hedef dizinin belirtilen dizininden başlayarak tamamını ArrayList uyumlu bir tek boyutluya Arraykopyalar.

CopyTo(Array)

Tamamını ArrayList , hedef dizinin başlangıcından başlayarak uyumlu bir tek boyutluya Arraykopyalar.

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

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

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

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

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

IndexOf(Object, Int32)

Belirtilen öğesini arar ve içinde 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)

Belirtilen Object öğesini arar ve içindeki ArrayListilk 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 ArrayList ekler.

LastIndexOf(Object, Int32, Int32)

Belirtilen Object öğesini arar ve içinde belirtilen öğe sayısını içeren ve belirtilen dizinde ArrayList biten öğe aralığındaki son 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 ArrayList aralığındaki son oluşumun sıfır tabanlı dizinini döndürür.

LastIndexOf(Object)

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

MemberwiseClone()

Geçerli Objectbasit 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 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ığı üzerinden kopyalar.

Sort()

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

Sort(IComparer)

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

Sort(Int32, Int32, IComparer)

Belirtilen karşılaştırıcıyı kullanarak içindeki ArrayList bir öğe aralığındaki öğ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 bir dize döndürür.

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

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

Uzantı Metotları

Name Description
AsParallel(IEnumerable)

Sorgunun paralelleştirilmesini etkinleştirir.

AsQueryable(IEnumerable)

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

Cast<TResult>(IEnumerable)

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

OfType<TResult>(IEnumerable)

Belirtilen türe göre bir IEnumerable öğesinin öğelerini filtreler.

Şunlara uygulanır

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

Bu türün genel statik (Shared Visual Basic'te) üyeleri iş parçacığı güvenlidir. Hiçbir örnek üyesi için iş parçacığı güvenliği garanti edilmez.

, ArrayList koleksiyon değiştirilmediği sürece aynı anda birden çok okuyucuyu 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 koleksiyonda numaralandırma, iş parçacığı açısından güvenli bir yordam değildir. Bir koleksiyon eşitlendiğinde bile, diğer iş parçacıkları yine de koleksiyonu değiştirebilir ve bu da numaralandırıcının bir özel durum oluşturmasına neden olur. Numaralandırma sırasında iş parçacığı güvenliğini garanti etmek 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.