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 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ınList<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) | |
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.