ArrayList Nedir ve Neden Kullanılır?
C# dilinde, sabit boyutlu dizilerin sunduğu sınırlamaları aşmak ve farklı veri türlerini bir arada saklamak için ArrayList kullanılır. ArrayList, System.Collections
kütüphanesinden gelir ve dinamik bir yapıya sahiptir. Eleman ekleme ve çıkarma işlemleri sırasında boyutunu otomatik olarak ayarlayarak geliştiricilere büyük bir esneklik sağlar.
ArrayList Avantajları ve Dezavantajları
Avantajları:
- Boyut belirtme zorunluluğu yoktur; liste dinamik olarak büyüyüp küçülebilir.
- Farklı veri türlerini (örneğin
int
,string
,double
) aynı liste içinde saklama imkânı sunar. - Kullanımı kolaydır ve küçük projelerde pratik bir çözüm sağlar.
Dezavantajları:
- ArrayList, tür güvenli değildir; bu nedenle, derleme sırasında tür hatası alınmaz ancak çalışma sırasında hatalara neden olabilir.
- Performans açısından modern koleksiyonlar (örneğin
List<T>
) kadar hızlı değildir.
ArrayList Kullanımı
Bir ArrayList oluşturup eleman eklemek oldukça basittir. Örnek bir kod parçası:
using System.Collections;
// ArrayList tanımlama
ArrayList list = new ArrayList();
// Eleman ekleme
list.Add(100);
list.Add("Merhaba");
list.Add(12.5);
// Elemanları yazdırma
foreach (var item in list)
{
Console.WriteLine(item);
}
Eleman Güncelleme ve Silme İşlemleri
ArrayList’te belirli bir elemanı güncellemek veya silmek için şu yöntemler kullanılabilir:
- Eleman Güncelleme:
list[0] = 200; // İlk elemanı güncelle
- Eleman Silme:
list.Remove(12.5); // 12.5 değerini sil
list.RemoveAt(1); // İkinci elemanı (indeks 1) sil
Pratik Uygulama: Dinamik Veri Yönetimi
Örnek bir senaryo: Bir restoran menüsü için yemek isimleri, fiyatları ve kategorileri bir ArrayList içinde saklanabilir. Farklı veri türlerini bir arada barındıran bu yapı sayesinde, listeye yeni yemekler eklemek veya mevcut yemekleri güncellemek kolaylaşır.
ArrayList vs List
C# 2.0 ile gelen List<T>
koleksiyonu, ArrayList’e göre daha modern ve performanslıdır. Tür güvenliği ve generik yapısı sayesinde çalışma zamanı hatalarını önler. Ancak, küçük projelerde veya tür çeşitliliği gerektiğinde ArrayList hâlâ kullanışlı olabilir.
Sonuç
ArrayList, basit ve dinamik veri ihtiyaçları için etkili bir çözüm sunar. Kullanım kolaylığı ve esnekliği ile özellikle küçük projelerde tercih edilebilir. Ancak, performans ve tür güvenliği gerektiren durumlarda List<T>
gibi modern koleksiyonların kullanımı önerilir.