ArrayList Sınıfının Metotları C# Ders 45

ArrayList Sınıfının Metotları C# Ders 45

Daha fazla bilgi için : www.gorselprogramlama.com

ArrayList Sınıfı: Dizi işlemleri için kullanılır.Dizinin boyutu sınırsızdır.Eleman girildikçe artar.İlk başlangıçta eleman sayısı belirtilmediği zaman ( ArrayList sayilar = new ArrayList() ) boyut 2 ile başlar elemanlar eklendikçe ikinin katları şeklinde kendini artırır.(2,4,8,16,32… gibi).Ama başlangıçta boyut belirtilirse ( ArrayList sayilar = new ArrayList(3) )  ; boyut aşıldığında 2’nin katları şeklinde artar.Mesela başlangıçta boyutu 3 olarak tanımlanan bir dizi 4. eleman girildiğinde boyutunu 6’ya,7. eleman girildiğinde 12’ye çıkartır.

Arraylist ile normal dizi arasındaki fark:

Mesela 1000 kişilik bir okulu düşünün.Öğrenci kayıtları için normal diziyi 1000 veya 1100 tanımladığımızı düşünelim.İleri dönemlerde öğrenci sayısı artıp 1300 olduğu zaman tanımlanan bu dizi yeterli gelmeyecektir.Ama arraylist kullanıldığında bu sorun ortadan kaldırılmış olacaktır.

Not: ArrayList tanımlaması için aşağıdaki resimlerde gözüktüğü gibi using System.Collections kütüphanesini eklememiz gerekmektedir.

using System.Collections eklemediğimizde aşağıdaki gibi Arraylist sınıfını göremeyiz.

 

using System.Collections ekledikten sonra aşağıda gözüktüğü gibi Arraylist sınıfı gözükür.

 

ArrayList Sınıfı Özellikleri

Add:diziye eleman eklemek için kullanılır.Eklenen eleman dizinin sonuna eklenir.

Insert: dizi ekleme işlemini istediğimiz yere yapmak için kullanılır.

Örnek: Insert(Kaçıncı sıraya,eklenecek değer)

Capacity:Dizinin o anki boyutunu öğrenmek için kullanılır.

Örnek:

[code language=”csharp”]

namespace arraylist_ozellikleri

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

ArrayList sayilar = new ArrayList(3);

private void ekle_Click(object sender, EventArgs e)

{

sayilar.Add(textBox1.Text);

}

private void goster_Click(object sender, EventArgs e)

{

foreach (string i in sayilar)

{

listBox1.Items.Add(i);

}

}

private void kapasite_Click(object sender, EventArgs e)

{

label1.Text = sayilar.Capacity.ToString();

}

}

}

[/code]

Count:dizinin eleman sayısını öğrenmek için kullanılır.

Örnek:

[code language=”csharp”]

namespace arraylist_ozellikleri

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

ArrayList sayilar = new ArrayList(3);

private void ekle_Click(object sender, EventArgs e)

{

sayilar.Add(textBox1.Text);

}

private void goster_Click(object sender, EventArgs e)

{

foreach (string i in sayilar)

{

listBox1.Items.Add(i);

}

}

private void elemanSayisi_Click(object sender, EventArgs e)

{

label1.Text = sayilar.Count.ToString();

}

}

}

[/code]

 

TrimToSize:dizinin boyutunu o andaki eleman değerine çeker.

Örnek:

[code language=”csharp”]

namespace arraylist_ozellikleri

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

ArrayList sayilar = new ArrayList(16);

private void ekle_Click(object sender, EventArgs e)

{

sayilar.Add(textBox1.Text);

}

private void goster_Click(object sender, EventArgs e)

{

foreach (string i in sayilar)

{

listBox1.Items.Add(i);

}

}

private void kapasite_Click(object sender, EventArgs e)

{

label1.Text = sayilar.Capacity.ToString();

}

private void kirp_Click(object sender, EventArgs e)

{

sayilar.TrimToSize();

}

}

}

[/code]

dizi başlangıçta 16 elemanlı.3 eleman girildikten sonra Kırp butonu tıklanıp kapasite butonuna basıldığında sonuç:

 

Remove: Belirtilen elamanı diziden siler.

Örnek:

[code language=”csharp”]

namespace arraylist_ozellikleri

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

ArrayList sayilar = new ArrayList(16);

private void ekle_Click(object sender, EventArgs e)

{

sayilar.Add(textBox1.Text);

}

private void goster_Click(object sender, EventArgs e)

{

listBox1.Items.Clear();

foreach (string i in sayilar)

{

listBox1.Items.Add(i);

}

}

private void kapasite_Click(object sender, EventArgs e)

{

label1.Text = sayilar.Capacity.ToString();

}

private void sil_Click(object sender, EventArgs e)

{

sayilar.Remove(textBox2.Text);

}

}

}

[/code]

textbox’a  23 yazıp sil butonuna basıp daha sonra göster dediğimizde diziden 23 sayısnın silindiğini görürsünüz.

RemoveAt: Sıra numarası verilen dizi elemanını siler.

Örnek:

[code language=”csharp”]

namespace arraylist_ozellikleri

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

ArrayList sayilar = new ArrayList(16);

private void ekle_Click(object sender, EventArgs e)

{

sayilar.Add(textBox1.Text);

}

private void goster_Click(object sender, EventArgs e)

{

listBox1.Items.Clear();

foreach (string i in sayilar)

{

listBox1.Items.Add(i);

}

}

private void kapasite_Click(object sender, EventArgs e)

{

label1.Text = sayilar.Capacity.ToString();

}

private void sil_Click(object sender, EventArgs e)

{

sayilar.RemoveAt(int.Parse(textBox2.Text));

}

}

}

[/code]

textbox’a  2 yazıp sil butonuna basıp daha sonra göster dediğimizde diziden 2.nolu elemanın yani 24 sayısının  silindiğini görürsünüz.

 

Aşağıdaki kullanımlar Array sınıfının özelliklerine benzediği için örnek vermiyorum.Çünkü Array sınıfında yeterince örnek hazırlamıştık.Array sınıfı örnekleri için Tıklayınız.

Sort: Belirtilen dizinin küçükten büyüğe sıralanmasını sağlar.

Kullanım 1: Sort()

Örnek : sayilar.Sort();

Reverse : Belirtilen dizinin sıralama olarak ters çevrilmesini sağlar.

Kullanım 1: Reverse()

Örnek : sayilar.Reverse();

Kullanım 2: Reverse(Kaçıncı elemandan itibaren,kaç elaman)

Not: Dizinin ilk elemanın 0.eleman olduğunu unutmayın.

Örnek : sayilar.Reverse(1,2); // sayilar dizisini 1. elemandan itibaren 2 elamanını ters çevirir.

Clear : Belirtilen dizinin tüm elamanlarının temizlenmesini sağlar.

IndexOf: Belirtilen değerin dizi içinde olup olmadığını öğrenmek için kullanılır.Belirtilen değer var ise geriye sıra numarasını döndürür,yok ise  -1 değerini döndürür.

Kullanım 1: IndexOf(değer)

Örnek : sayilar.IndexOf(3); //sayilar dizisi içinde 3 sayısı var ise sıra numarasını , yok ise    -1 değerini döndürür.

Kullanım 2: IndexOf(değer,kaçıncı elemandan itibaren)

Kullanım 3: IndexOf(değer,kaçıncı elemandan itibaren,kaç tane)

Not: Dizinin ilk elemanın 0.eleman olduğunu untmayın.

Dersin videolu anlatımı ve anlatımda yapılan projeyi indirmek için

Tıklayınız

Yorumlar 6

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir