Visual Studio C# Dersleri | Visual Studio Kurulumu | C# Programlama Dersleri
Dinamik Diziler
Şimdiye kadar gördüğümüz klasik dizilerin programlama tekniklerine getirdikleri kolaylıkların dışında birtakım kısıtlamaları da vardır. Bu kısıtlamaların en başında da dizilerin boyutları gelmektedir. Bir dizinin boyutu, dizi tanımlanırken belirlenir ve programın akışı esnasında genişletilip-daraltılamazdı.
Bir diğer kısıtlama da; örneğin, programın başlangıcında 250 elemanlı bir dizi tanımladık ve bunun yalnızca 120’sini kullandık, geriye kalan 130 elemanlık bellek alanı ise boşu boşuna bellekte yer kaplamış olur.
İşte dizilerde sıkça karşılaşılan bu kısıtlamalar ArrayList sınıfı ile çözümlenir. ArrayList, büyüklüğü, dinamik olarak artıp azalabilen nesne referanslarından oluşan değişken uzunlukta biz dizidir. Bu veri yapısı .NET sınıf kütüphanesinin System.Collections isim alanında bulunur.
ArrayList yapısının, bu dinamik boyut dışında bizlere sunduğu bir diğer avantaj da bir dizi içerisinde saklanacak olan verilerin tür sınırlamasını ortadan kaldırmasıdır. Örneğin bir dizi içerisinde hem int türünden veriler, hem string türünden veriler, hem char türünden veriler hem de bool türünden veriler saklamak mümkündür.
ArrayList ile dinamik bir dizi şu şekilde tanımlanır;
Tanımlanması: ArrayList diziAdi=new ArrayList();
ArrayList’leri örneklerimizde kullanmadan önce sizlere ArrayList’ler ile sıkça kullandığımız bazı metotlardan ve özelliklerden bahsetmemizde fayda olacaktır.
Özellikler:
Capacitiy: ArrayList’in kapasitesini int türünde verir.
Count: ArrayList içerisindeki eleman sayısını int türünde verir.
Metotlar:
Add: Bir nesneyi ArrayList’in sonuna eklemeye yarar.
Insert: Belirtilen indeks pozisyonuna nesneyi eklemeye yarar
Remove: Belirtilen nesne ArrayList içerisinde varsa siler.
RemoveAt: İndeks değeriyle belirtilen pozisyondaki elemanı siler
Sort: ArrayList içerisindeki elemanları sıralar.
Capacity Özelliği:
ArrayList’in kapasitesini int türünde veren özelliktir.
Kullanımı:
int kapasite=liste.Capacity;
Count Özelliği:
ArrayList içerisinde bulunana eleman sayısını int türünde veren özelliktir.
Kullanımı:
int elemanSayisi=liste.Count;