Anasayfa > C# > C# ArrayList Sınıfı (Tüm Özellikleri)

C# ArrayList Sınıfı (Tüm Özellikleri)

ArrayList C#’ta bir class’dir. Diger classlar gibi Arraylist’i de  kullanabilmemiz için yavru degiskenini türetmeliyiz. Arraylist aslinda bir dizidir.Fonksiyonlar çalisirken arkaplanda birden fazla dizi çalisir. Arraylist’i bir otosbüsü bekleyen yolcu kuyruguna benzetebiliriz. En son gelen en arkaya geçer. Arraylist için de böyledir. En son eklenen eleman en son indisli elemandir. Eleman eklendikçe Arraylist de büyür, eleman sayisinda bir sinirlama yoktur. Arraylist’in eleman türü object’tir. Bunu ilk örnekte daha iyi anlayacaksiniz. Arraylist için simdilik bu ön bilgiler yeterli. Isterseniz hemen Arraylist fonksiyonlarina geçelim.
 
Yazan: Yakup Buğra Bozkurt
ArrayList olusturabilmek için projemize using System.Collections kodunu using satirina eklemeliyiz. Bu kodla System.Collections kütüphanesini çagirmis oluruz.
 
Örneklere geçmeden önce projenize bir adet Button ve bir adet TextBox kontrolü ekleyiniz.
 
Add Methodu: ArrayList class’indan olusturdugumuz yavru degiskene bir eleman eklemek için kullanilir. Mesela:
 
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent
}
 
private void button1_Click(object sender, EventArgs e)
{
ArrayList diziListe = new ArrayList();
int[] dizi = new int[5] { 1, 2, 3, 4, 5 };
 
diziListe.Add(dizi[2]);// diziListe'nin ilk elemani 3 olur
diziListe.Add(12); // diziListenin ikinci elemani 12 olur
diziListe.Add("kelime"); // dizilistenin üçüncü elemani kelime stringi olur
this.Text = diziListe[0].ToString();// Form'un basligina 3 yazar
this.Text = diziListe[1].ToString();// Form'un basligina 12 yazar
this.Text = diziListe[2]; // Form'un basligina kelime yazar
}
}
Burada dikkat edilmesi gereken ilk nokta Add fonksiyonu ile Arraylist’e ayni anda sadece bir eleman ekleyebilmemiz. Ikinci önemli nokta ise hem bir integer degeri ekledik hem de bir string degeri ekledik. Buradan da analasilacagi üzere olusturdugumuz Arraylist’e object türünde degerler atabiliyoruz. Mesela biz burda diziListe isimli yavru degiskene bool, double, float, string, byte, hatta Button, listBox türünde nesneler de ekleyebiliyoruz çünkü object türü degisken hepsini kapsayabiliyor.
 
AddRange Methodu: AddRange fonksiyonu Add fonksiyonuna benzemektedir. Aradaki tek fark Add ile sade bir degeri ekleyebiliyorduk. AddRange ile ise Arraylist’e bir dizinin tamamini ekleyebiliriz.
 
private void button1_Click(object sender, EventArgs e)
{
ArrayList diziListe = new ArrayList();
 
int[] dizi = new int[5] { 11, 21, 34, 56, 74 };
diziListe.AddRange(dizi);
textBox1.Text = diziListe[2].ToString();// textBox1’in içine 34 yazar
}
 
Burada bir noktayi hatirlatalim, listBox’in elemenlari da bir dizidir. Yani sunu da yapabilirdik:
diziListe.AddRange(listBox1.Items);
Bu kod ile listBox içindeki bütün degerleri Arraylist’imizin içine ekleyebiliriz.
 
 
Clear Methodu: Arraylist içindeki bütün elemanlari silmek için kullanilan bir fonksiyondur.
 
private void button1_Click(object sender, EventArgs e)
{
ArrayList diziListe = new ArrayList();
 
int[] dizi = new int[5] { 11, 21, 34, 56, 74 };
diziListe.AddRange(dizi);
diziliste.Clear();// diziListe'nin içine tamamen temizler
textBox1.Text = diziListe[2].ToString();// hata verir
}
 
 
Contains Methodu: Fonksiyona parametre olarak verilen degiskenin Arraylist içinde olup olmadigina bakar. Eger var ise true yok ise false döndürür.
 
private void button1_Click(object sender, EventArgs e)
{
ArrayList diziListe = new ArrayList();
 
int[] dizi = new int[5] {1,2,3,4,5 };
diziListe.AddRange(dizi);
 
if (diziListe.Contains(Convert.ToInt32(textBox1.Text))==true)
{
MessageBox.Show("girilen deger diziListe içinde mevcut");
}
else
{
MessageBox.Show("girilen deger diziListe içinde yok");
}
}
 
 
Count Fonksiyonu: Arraylist’in eleman sayisini döndüren fonksiyondur.
 
private void button1_Click(object sender, EventArgs e)
{
ArrayList diziListe = new ArrayList();
 
int[] dizi = new int[] {1,2,3,4,5,6 };
diziListe.AddRange(dizi);
textBox1.Text = diziListe.Count.ToString();//textBox1'in içine 6 yazar
}
 
 
IndexOf Fonksiyonu: Arraylist içinde istedigimiz elemani aramak için kullaniriz. Fonksiyonun üç farkli kullanimi vardir. En genel olani parametre olarak sadece aranan elemanin kendisini alanidir. Eger aranan eleman Arraylist içinde var ise elemanin indis numarasini, yok ise -1 döndürür. IndexOf fonksiyonu aramaya Arraylist’in basindan baslar.
 
private void button1_Click(object sender, EventArgs e)
{
ArrayList diziListe = new ArrayList();
 
string[] dizi = new string[5] {"aa","bb","cc","dd","ee" };// fonksiyonun parmetresi aradigimiz elemandir diziListe.AddRange(dizi);
int sira;
sira = diziListe.IndexOf("cc", 0, diziListe.Count – 1);
textBox1.Text = sira.ToString();
 
}
 
LastIndexOf Fonksiyonu: IndexOf fonksiyonu gibi Arraylist iinde herhangi bir elemani aramak için kullanilir. IndexOf’tan farki aramaya sondan baslamasidir. Elaman sayisi çok fazla olan Arraylist’lerde aradigimiz eleman sonlara daha yakinsa bu fonksiyon bize hiz kazandirir. Eger aranan eleman Arraylist içinde var ise elemanin indis numarasini, yok ise -1 döndürür.
 
private void button1_Click(object sender, EventArgs e)
{
ArrayList diziListe = new ArrayList();
string[] dizi = new string[5] {"aa","bb","cc","dd","ee" };     diziListe.AddRange(dizi);
int sira;
sira = diziListe.LastIndexOf("dd", 0, diziListe.Count – 1); // Aramaya sondan basladigi için elemani ikinci seferde bulur. Eger IndexOf kullansaydik elemani üçüncü seferde bulacakti.
textBox1.Text = sira.ToString();
}
 
Insert Methodu: Arraylist içinde herhangi bir araliga eleman eklemek için kullaniriz. Araya eleman ekledigimiz için Arraylist’in eleman sayisi da artmis olur (tipki otobüs beklerken birinin araya girmesi gibi). Fonksiyonun ilk parametresine elemani eklemek istedigimiz indis numarasini, ikinci parametreye ise elamani yazariz.
 
private void button1_Click(object sender, EventArgs e)
{
ArrayList diziListe = new ArrayList();
 
string[] dizi = new string[5] { "aa", "bb", "cc", "dd", "ee" };// diziListe.AddRange(dizi);
 
diziListe.Insert(2, "ff"); // diziListenin 2 numarali indisine ff ekledik. diziListenin eleman sayisi 6 oldu.
 
textBox1.Text = diziListe[2].ToString(); // textBox1'in içine ff yazar.
}
 
InsertRange Methodu: Fonksiyonun Insert fonksiyonunda tek farki araya birden fazla elemani bir seferde ekleyebilmesidir.
 
private void button1_Click(object sender, EventArgs e)
{
ArrayList diziListe = new ArrayList();
int[] dizi = new int[5] { 0, 1, 2, 3, 4 };
diziListe.AddRange(dizi);
int[] eklenecek=new int[3]{ 10, 11, 12 };
diziListe.InsertRange(2, eklenecek); // diziListenin 2 numarali indisinden sonra {10,11,12} dizisini ekledik. diziListenin eleman sayisi 8 oldu.
// diziListenin son hali{0,1,10,11,12,2,3,4,5} seklidedir.
textBox1.Text = diziListe[2].ToString(); // textBox1'in içine 10 yazar.
}
 
Remove Methodu: Fonksiyona parametre olarak girilen elemani Arraylist’in içinde bulur ve siler. Arraylist’in eleman sayisi 1 azalmis olur.
 
private void button1_Click(object sender, EventArgs e)
{
ArrayList diziListe = new ArrayList();
int[] dizi = new int[5] { 0, 1, 2, 3, 4 };
diziListe.AddRange(dizi);
diziListe.Remove(3)
textBox1.Text = diziListe[3].ToString(); // textBox1'in içine 4 yazar.
}
 
RemoveAt Methodu: Remove fonksiyonundan tek farki parametre olarak elemani degil elemanin indis numarasini almasidir.
 
private void button1_Click(object sender, EventArgs e)
{
ArrayList diziListe = new ArrayList();
int[] dizi = new int[5] { 7, 8, 9, 10, 11 };
diziListe.AddRange(dizi);
 
diziListe.Remove(2);
textBox1.Text = diziListe[2].ToString(); // textBox1'in içine 10 yazar.
}
 
Reverse Fonksiyonu: Arraylist’in eleman siralamasini tersine çevirmek için kullanilir.
 
private void button1_Click(object sender, EventArgs e)
{
ArrayList diziListe = new ArrayList();
int[] dizi = new int[5] { 7, 8, 9, 10, 11 };
diziListe.AddRange(dizi);
 
diziListe.Reverse();// dizi bundan sonra {11,10,9,8,7} halini alir.
 
textBox1.Text = diziListe[2].ToString(); // textBox1'in içine 9 yazar.
}
 
 
Sort Methodu: Arraylist’in elamanlarini küçükten büyüge dogru siralamak için kullanilir. Eger elemanlar string tipinde ise alfabetik siralama yapar.
 
private void button1_Click(object sender, EventArgs e)
{
ArrayList diziListe = new ArrayList();
 
string[] dizi = new string[4] { "Ankara", "Izmir", "Istanbul", "Gaziantep" };
 
diziListe.AddRange(dizi);
diziListe.Sort(); //dizinin son hali {"Ankara","Gaziantep","Istanbul","Izmir"} seklinde olur.
 
textBox1.Text = diziListe[3].ToString(); // textBox1'in içine Izmir yazar.
}
 
Yakup Bugra Bozkurt
  1. Henüz yorum yok
Yorumunuz gönderiliyor. Lütfen bekleyiniz.

Yorum yap

Trackbacks & Pingbacks ( 0 )
  1. Henüz geri izleme yok