Örneklerle C# ArrayList Eğitimi

C#'ta ArrayList nedir?

ArrayList koleksiyonu, C#'taki Arrays veri türüne benzer. En büyük fark, dizi listesi koleksiyonunun dinamik yapısıdır.

Diziler için, dizi bildirimi sırasında dizinin tutabileceği öğe sayısını tanımlamanız gerekir. Ancak Dizi Listesi koleksiyonu söz konusu olduğunda bunun önceden yapılmasına gerek yoktur. Öğeler Array List koleksiyonuna herhangi bir zamanda eklenebilir veya kaldırılabilir. Dizi listesi koleksiyonu için mevcut işlemlere daha ayrıntılı olarak bakalım.

Dizi Listesinin Bildirilmesi

ArrayList'in bildirimi aşağıda verilmiştir. ArrayList Veri Tipinin yardımıyla bir dizi listesi oluşturulur. ArrayList nesnesini oluşturmak için “new” anahtar sözcüğü kullanılır. Daha sonra nesne a1 değişkenine atanır. Şimdi a1 değişkeni dizi listesinin farklı öğelerine erişmek için kullanılacak.

ArrayList a1 = new ArrayList()

Bir diziye öğe ekleme

Add yöntemi ArrayList'e bir öğe eklemek için kullanılır. Ekleme yöntemi, dizi listesine herhangi bir veri türü öğesi eklemek için kullanılabilir. Böylece dizi listesine bir Tamsayı, bir dize ve hatta bir Boolean değeri ekleyebilirsiniz. Toplama yönteminin genel sözdizimi aşağıda verilmiştir.

ArrayList.add(element)

Aşağıda “ekleme” yönteminin nasıl kullanılabileceğine dair bazı örnekler verilmiştir. Array List koleksiyonuna çeşitli veri türlerini eklemek için add yöntemi kullanılabilir.

Aşağıda Integer'ın String'lerini ve hatta Boolean değerlerini Array List koleksiyonuna nasıl ekleyebileceğimize dair örnekleri görebilirsiniz.

  • a1.add(1) – Bu, koleksiyona bir Tamsayı değeri ekleyecektir
  • a1.add(“Örnek”) – Bu, koleksiyona bir String değeri ekleyecektir
  • a1.add(true) – Bu, koleksiyona bir Boolean değeri ekleyecektir

Şimdi bunun kod düzeyinde çalıştığını görelim. Aşağıda belirtilen kodların tamamı Konsol uygulamamıza yazılacaktır. Kod Program.cs dosyamıza yazılacaktır.

Aşağıdaki programda yeni dizi listesi oluşturacak kodu yazacağız. Ayrıca Dizi listesinin elemanlarını eklemeyi ve elemanlarını görüntülemeyi de göstereceğiz.

C# dilinde ArrayList

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   ArrayList a1 = new ArrayList();
   a1.Add(1);
   a1.Add("Example");
   a1.Add(true);
   
   Console.WriteLine(a1[0]);	  
   Console.WriteLine(a1[1]);
   Console.WriteLine(a1[2]);
   Console.ReadKey();
  }
 }
}

Kod Açıklaması:-

  1. İlk adım Dizi Listemizi bildirmek için kullanılır. Burada a1'i dizi listemizin elemanlarını tutacak bir değişken olarak bildiriyoruz.
  2. Daha sonra dizi listesine 1 sayısını, “Örnek” dizesini ve 'true' Boolean değerini eklemek için add anahtar sözcüğünü kullanırız.
  3. Daha sonra her dizi listesi öğesinin değerini konsolda görüntülemek için Console.WriteLine yöntemini kullanırız. Tıpkı dizilerde olduğu gibi öğelere dizin konumları aracılığıyla erişebildiğimizi fark edeceksiniz. Dizi Listesinin ilk konumuna erişmek için [0] dizin konumunu kullanırız. Ve benzeri.

Yukarıdaki kod düzgün bir şekilde girilip program çalıştırıldığında aşağıdaki çıktı görüntülenecektir.

Çıktı:

C# dilinde ArrayList

Çıktıdan dizi listesindeki tüm öğelerin konsola gönderildiğini görebilirsiniz.

ArrayList'in bir parçası olarak mevcut olan bazı yöntemlere daha bakalım.

saymak

Bu yöntem ArrayList koleksiyonundaki öğe sayısını almak için kullanılır. Aşağıda bu ifadenin genel sözdizimi verilmiştir.

ArrayList.Count() – Bu yöntem, dizi listesinin içerdiği öğelerin sayısını döndürür.

İçeren

Bu yöntem ArrayList koleksiyonunda bir öğenin mevcut olup olmadığını görmek için kullanılır. Bu ifadenin genel sözdizimi aşağıdadır

ArrayList.Contains(element) – Bu yöntem, öğe listede mevcutsa true değerini döndürür, aksi takdirde false değerini döndürür.

KaldırAt

Bu yöntem, ArrayList koleksiyonunda belirli bir konumdaki bir öğeyi kaldırmak için kullanılır. Bu ifadenin genel sözdizimi aşağıdadır

ArrayList.RemoveAt(index) – Bu yöntem, bir öğeyi Dizi Listesinin belirli bir konumundan kaldıracaktır.

Şimdi bunun kod düzeyinde çalıştığını görelim. Aşağıda belirtilen kodların tamamı Konsol uygulamamıza yazılacaktır. Kod Program.cs dosyamıza yazılacaktır.

Aşağıdaki programda yukarıda bahsettiğimiz yöntemleri nasıl kullanabileceğimizi görmek için kod yazacağız.

C# dilinde ArrayList

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   ArrayList a1 = new ArrayList();
   a1.Add(1);
   a1.Add("Example");
   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();
  }
 }
}

Kod Açıklaması:-

  1. Yani gördüğümüz ilk özellik Count özelliğidir. a1 dizi listesinin Count özelliğini alıyoruz ve bunu Console'a yazıyoruz.
  2. İkinci kısımda ise ArrayList a1’in 2 elemanını içerip içermediğini görmek için Container metodunu kullanıyoruz. Daha sonra sonucu Writeline komutu ile Console’a yazıyoruz.
  3. Son olarak, Öğeyi kaldır yöntemini göstermek için aşağıdaki adımları gerçekleştiriyoruz:
    1. Öncelikle dizi listesinin Index pozisyonu 1'deki elemanın değerini konsola yazıyoruz.
    2. Daha sonra dizi listesinin Index pozisyonu 1'deki elemanı kaldırıyoruz.
    3. Son olarak dizi listesinin Index pozisyonu 1'deki elemanın değerini yine konsola yazıyoruz. Bu adımlar, kaldırma yönteminin olması gerektiği gibi çalışıp çalışmayacağına dair adil bir fikir verecektir.

Yukarıdaki kod düzgün bir şekilde girilip program çalıştırıldığında aşağıdaki çıktı görüntülenecektir.

Çıktı:

C# dilinde ArrayList

Son değer neden doğrudur?

Olayların sırasını görürseniz Örnek öğesi diziden kaldırılır çünkü bu konum 1'dedir. Dizinin 1. konumu daha sonra daha önce 2. konumda olan ve 'true' değeri olan öğeyle değiştirilir.

ÖZET

Dizi Listesi koleksiyonu, bir grup öğeyi depolamak için kullanılır. Array listesi koleksiyonunun avantajı dinamik olmasıdır. Dizi listesi koleksiyonuna anında öğe ekleyebilir ve kaldırabilirsiniz.