4 Haziran 2010 Cuma

Koleksiyon Kavramlari(ArrayList)

C# da ve daha dogrusu butum programlama dillerinde bilgileri elde tutmanin en kolay yolu dizilerdir. Fakat bazi durumdlarda diziler de yetersiz kalabilmektedir. Nedir bu durumlar? Bir listeye ortadan deger girmek veya 4 elemanli bir diziye eleman ekleyememek ... vs. gibi sorunlar. Bu durumda yardimimiza koleksiyon kavrami kosuyor. Simdi kisaca ornek uzerinden de anlatalim.

Arraylist dedigimiz kavrami boyutsuz dizi gibi de tanimlayabiliriz. Aslinda boyutu var, ilk acilista otomatik olarak 4 byte olarak acilip, listemiz dolduktan sonra eklenen eleman icin 2 kati uzunlugunda yer daha aciyor kendisine. Bunu 4 byte olarak secmesinin nedeni de sonucta dizinin boyutunu artirmak da bilgisayar icin zahmetli bir yol oldugundan surekli 1 byte 1 byte veri ekleyecegine, tek seferde 4 acip daha sonra 2 ser kati artarak daha az yakit kullanarak daha cok yol almis oluyor.

Konudan uzaklasmadan, arraylist'leri dizi mantiginda dusunursek, tanimlamamiz yine ayni sekilde olacak, bellege yeni adresini acmis olacagiz.

ArrayList liste = new ArrayList();


NOT: koleksiyon kavramini kullanabilmemiz icin mutlaka namespace'sine su tanimlamayi yazmamiz gerekir.

using System.Collections;

Artik namespace'miz de hazirsa yeni dizimize(koleksiyon) deger girisi yapalim.

liste.Add("Istanbul");
liste.Add("Ankara");
liste.Add("Izmir");

//Indexer kullanımıyla atama
liste[1] = "Trabzon";
//ve okuma
Console.WriteLine(liste[1]);

Son olarak da sunu unutmayalim ki, listeye deger girisi yaparken veya deger okuturken arraylist'in bizden object bir deger istedigini gorecegiz. Bizim programa hangi tipin(int,string,double,char...vs) gelecegini ozellikle belirtmemiz gerekir ki orda da casting islemleri devreye giriyor.

0 yorum: