C # içinde ArrayList nedir?
ArrayList koleksiyonu C# içindeki dizilere benzer. ArrayList’in en büyük farkı dinamik bir yapıya sahip olmasıdır.
Diziler için dizinin dizi bildirimi sırasında tutabileceği öğelerin sayısını tanımlamanız gerekir. Ancak ArrayList koleksiyonunda, bunun önceden yapılması gerekmez. Öğeler, herhangi bir zamanda ArrayList koleksiyonuna eklenebilir veya koleysiyondan kaldırılabilir. ArrayList koleksiyonu için mevcut işlemlere daha ayrıntılı olarak bakalım.
ArrayList Tanımlaması
Bir ArrayList beyanı aşağıda verilmiştir. ArrayList veritipinin yardımıyla bir ArrayList oluşturulur. “new” anahtar kelime ArrayList’in bir nesnesini oluşturmak için kullanılır. Nesne daha sonra a1 değişkenine atanır. Yani şimdi a1 değişkeni ArrayList’in farklı öğelerine erişmek için kullanılacaktır.
1 2 3 | ArrayList a1 = new ArrayList(); |
ArrayList’e eleman ekleme
add methodu: ArrayList öğesine bir eleman eklemek için kullanılır. Ekleme yöntemi dizi listesine herhangi bir tür veri tipi elemanı eklemek için kullanılabilir. Böylece dizi listesine bir Tamsayı, bir String veya bir Boolean değeri ekleyebilirsiniz. Ekleme yönteminin genel sözdizimi aşağıda verilmiştir.
1 2 3 | ArrayList.add(element); |
Aşağıda, “add” yönteminin nasıl kullanılabileceği ile ilgili bazı örnekler verilmiştir. add yöntemi, ArrayList koleksiyonuna çeşitli veri türleri eklemek için kullanılabilir.
Aşağıda ArrayList koleksiyonuna integer, string ve hatta boolean değerlerini nasıl ekleyebileceğimizin örneklerini görebilirsiniz.
a1.add (1) – Bu koleksiyona bir Tamsayı değeri katacak
a1.add (“Örnek”) – Bu koleksiyona bir String değeri katacak
a1.add (true) – Bu koleksiyona bir Boolean değeri katacak
Şimdi bunu bir kod düzeyinde çalışırken görelim. Aşağıda belirtilen kodların hepsi Console uygulamasına yazılacaktır.
Örnek 1: ArrayList Kullanımı, değer ekleme
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Örnek"); a1.Add(true); Console.WriteLine(a1.Count); Console.WriteLine(a1.Contains(2)); Console.WriteLine(a1[1]); a1.RemoveAt(1); Console.WriteLine(a1[1]); Console.ReadKey(); } } |
Hadi yukarıdaki kullanıdığımız ArrayList ile kullanılan bazı faydalı methodların kullanımına bakalım.
Count
Bu method ArrayList koleksiyonunda bulunan eleman sayasını getirir. Aşağıdaki şekilde kullanılır.
ArrayList.Count() //ArrayList içindeki eleman sayısını döndürür.
Contains
Bu Method aranan element ArrayList içinde var kontrolü yapar. Aşağıdaki şekilde kullanılır. C# ArrayList içinde Arama yapmak için bu method kullanılabilir.
ArrayList.Contains(element) //Aranan Element ArrayList içinde listeleniyorsa true değilse false döndürür.
RemoveAt
Bu method ile belirtilen index değerindeki eleman listeden kaldırılır. Aşağıdaki şekilde kullanılır.
ArrayList.RemoveAt(index) //belirtilen index içindeki nesne listeden kaldırılır.
Örnek 2: 10 adet sayıyı tek ve çift olarak dolduran ArrayList Örneği
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | static void Main(string[] args) { ArrayList tekSayilar = new ArrayList(); ArrayList ciftSayilar = new ArrayList(); int ortalama=0, toplam=0; Random rnd = new Random(); for(int i=0;i<10;i++) { int sayi = rnd.Next(1, 100); Console.Write(sayi + " "); toplam += sayi; if(sayi%2==0) { ciftSayilar.Add(sayi); } else { tekSayilar.Add(sayi); } } Console.WriteLine(); Console.WriteLine("============================================================"); ortalama = toplam / 10; Console.WriteLine("Sayıların Ortalaması : {0}", ortalama); Console.WriteLine("Tek Sayıların Adeti : {0}", tekSayilar.Count); Console.WriteLine("Çift Sayıların Adeti : {0}", ciftSayilar.Count); Console.ReadKey(); } |
Ekran Çıktısı:
Örnek 2: Klavyeden girilen 10 adet sayının asal olanlarını ayrı diziye atan ArrayList Örneği
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace dizi_asal { class Program { public static bool asalmi(int sayi) { bool durum = false; int kontrol = 0; for (int i = 2; i < sayi; i++) { if (sayi % i == 0) { kontrol = 1; break; } } if (kontrol == 1) { durum = false; } else { durum = true; } return durum; } static void Main(string[] args) { int toplam = 0, ortalama = 0; ArrayList asalSayilar = new ArrayList(); for (int i = 0; i < 10; i++) { Console.Write("Sayıyı Girin : "); int s = Convert.ToInt32(Console.ReadLine()); toplam += s; if (asalmi(s)) { asalSayilar.Add(s); } } ortalama = toplam / 10; Console.WriteLine(); Console.WriteLine("==========================="); Console.WriteLine("ASAL SAYILAR"); foreach (int sayi in asalSayilar) { Console.Write(sayi + " "); } Console.ReadKey(); } } } |
Add Comment