ArrayList Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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ınList<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) | |
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() | |
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.