ArrayList C#’ta bir class’dır. Diğer classlar gibi Arraylist’i de
kullanabilmemiz için yavru değişkenini türetmeliyiz. Arraylist aslında bir
dizidir.Fonksiyonlar çalışırken arkaplanda birden fazla dizi çalışır. Arraylist’i
bir otosbüsü bekleyen yolcu kuyruğuna benzetebiliriz. En son gelen en arkaya
geçer. Arraylist için de böyledir. En son eklenen eleman en son indisli
elemandır. Eleman eklendikçe Arraylist de büyür, eleman sayısında bir sınırlama
yoktur. Arraylist’in eleman türü object’tir. Bunu ilk örnekte daha iyi
anlayacaksınız. Arraylist için şimdilik bu ön bilgiler yeterli. İsterseniz
hemen Arraylist fonksiyonlarına geçelim.
ArrayList oluşturabilmek için projemize using System.Collections kodunu da eklemeliyiz. Bu kodla System.Collections kütüphanesini çağırmış oluruz.
Add Fonksiyonu:
ArrayList class’ından oluşturduğumuz yavru değişkene bir eleman eklemek için kullanılır.
Burada dikkat edilmesi
gereken ilk nokta Add fonksiyonu ile Arraylist’e aynı anda sadece bir eleman
ekleyebilmemiz. İkinci önemli nokta ise hem bir integer değeri ekledik hem de
bir string değeri ekledik. Buradan da analaşılacağı üzere oluşturduğumuz
Arraylist’e object türünde değerler atabiliyoruz. Mesela biz burda diziListe
isimli yavru değişkene bool, double, float, string, byte, hatta Button, listBox
türünde nesneler de ekleyebiliyoruz çünkü object türü değişken hepsini
kapsayabiliyor.
AddRange Fonksiyonu:
AddRange fonksiyonu Add fonksiyonuna benzemektedir. Aradaki tek fark Add ile sade bir değeri ekleyebiliyorduk. AddRange ile ise Arraylist’e bir dizinin tamamını ekleyebiliriz.
Burada bir noktayı
hatırlatalım, listBox’ın elemenları da bir dizidir. Yani şunu da yapabilirdik:
diziListe.AddRange(listBox1.Items);
Bu kod ile listBox içindeki bütün değerleri Arraylist’imizin içine ekleyebiliriz.
Clear Fonksiyonu:
Arraylist içindeki bütün elemanları silmek için kullanılan bir fonksiyondur.
Contains Fonksiyonu:
Fonksiyona parametre olarak verilen değişkenin Arraylist içinde olup olmadığına bakar.Eğer var ise true yok ise false döndürür.
Count Fonksiyonu:
Arraylist’in eleman sayısını döndüren fonksiyondur.
IndexOf Fonksiyonu:
Arraylist içinde istediğimiz elemanı aramak için kullanırız. Fonksiyonun üç farklı kullanımı vardır. En genel olanı parametre olarak sadece aranan elemanın kendisini alanıdır.Eğer
aranan eleman Arraylist içinde var ise elemanın indis numarasını, yok ise -1
döndürür. IndexOf fonksiyonu aramaya Arraylist’in başından başlar.
LastIndexOf
Fonksiyonu:
IndexOf fonksiyonu gibi Arraylist iinde herhangi bir elemanı aramak için kullanılır. IndexOf’tan farkı aramaya sondan başlamasıdır. Elaman sayısı çok fazla olan Arraylist’lerde aradığımız eleman sonlara daha yakınsa bu fonksiyon bize hız kazandırır.Eğer aranan eleman
Arraylist içinde var ise elemanın indis numarasını, yok ise -1 döndürür.
Insert Fonksiyonu:
Arraylist içinde herhangi bir aralığa eleman eklemek için kullanırız. Araya eleman eklediğimiz için Arraylist’in eleman sayısı da artmış olur (tıpkı otobüs beklerken birinin araya girmesi gibi). Fonksiyonun ilk parametresine elemanı eklemek istediğimiz indis numarasını, ikinci parametreye ise elamanı yazarız.
InsertRange
fonksiyonu:
Fonksiyonun Insert fonksiyonunda tek farkı araya birden fazla elemanı bir seferde ekleyebilmesidir.
Remove Fonksiyonu:
Fonksiyona parametre olarak girilen elemanı Arraylist’in içinde bulur ve siler. Arraylist’in eleman sayısı 1 azalmış olur.
RemoveAt
Fonksiyonu:
Remove fonksiyonundan tek farkı parametre olarak elemanı değil elemanın indis numarasını almasıdır.
Reverse Fonksiyonu:
Arraylist’in eleman sıralamasını tersine çevirmek için kullanılır.
Sort Fonksiyonu:
Arraylist’in elamanlarını küçükten büyüğe doğru sıralamak için kullanılır.Eğer elemanlar string tipinde ise alfabetik
sıralama yapar.
ArrayList oluşturabilmek için projemize using System.Collections kodunu da eklemeliyiz. Bu kodla System.Collections kütüphanesini çağırmış oluruz.
Add Fonksiyonu:
ArrayList class’ından oluşturduğumuz yavru değişkene bir eleman eklemek için kullanılır.
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 elemanı 3 olur |
diziListe.Add(12);
// diziListenin ikinci elemanı 12 olur |
||
diziListe.Add(
"kelime" );
// dizilistenin üçüncü elemanı kelime stringi olur |
this.Text
= diziListe[0].ToString();// Form'un başlığına 3 yazar |
||
this .Text
= diziListe[1].ToString();// Form'un başlığına 12 yazar |
this.Text
= diziListe[2]; // Form'un başlığına kelime yazar |
||
}
|
AddRange Fonksiyonu:
AddRange fonksiyonu Add fonksiyonuna benzemektedir. Aradaki tek fark Add ile sade bir değeri ekleyebiliyorduk. AddRange ile ise Arraylist’e bir dizinin tamamını 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 |
||
}
|
diziListe.AddRange(listBox1.Items);
Bu kod ile listBox içindeki bütün değerleri Arraylist’imizin içine ekleyebiliriz.
Clear Fonksiyonu:
Arraylist içindeki bütün elemanları silmek için kullanılan 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 |
}
|
Fonksiyona parametre olarak verilen değişkenin Arraylist içinde olup olmadığına bakar.
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
değer diziListe içinde mevcut");
|
}
|
||
else |
{
|
||
MessageBox.Show("girilen
değer diziListe içinde yok");
|
}
|
||
}
|
Count Fonksiyonu:
Arraylist’in eleman sayısını 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 |
||
}
|
Arraylist içinde istediğimiz elemanı aramak için kullanırız. Fonksiyonun üç farklı kullanımı vardır. En genel olanı parametre olarak sadece aranan elemanın kendisini alanıdır.
private
void button1_Click(object
sender, EventArgs e)
|
||
{
|
ArrayList
diziListe =
new ArrayList(); |
||
string []
dizi = new string [5]
{"aa","bb","cc","dd","ee"
};//
fonksiyonun parmetresi aradığımız elemandır |
diziListe.AddRange(dizi);
|
||
int
sıra;
sıra = diziListe.IndexOf("cc",
0, diziListe.Count - 1);
|
textBox1.Text
= sıra.ToString();
|
||
}
|
IndexOf fonksiyonu gibi Arraylist iinde herhangi bir elemanı aramak için kullanılır. IndexOf’tan farkı aramaya sondan başlamasıdır. Elaman sayısı çok fazla olan Arraylist’lerde aradığımız eleman sonlara daha yakınsa bu fonksiyon bize hız kazandı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 sıra;
sıra = diziListe.LastIndexOf("dd",
0, diziListe.Count - 1);
// Aramaya sondan başladığı için elemanı
ikinci seferde bulur. Eğer IndexOf kullansaydık elemanı üçüncü seferde
bulacaktı. |
||
textBox1.Text
= sıra.ToString();
|
}
|
Arraylist içinde herhangi bir aralığa eleman eklemek için kullanırız. Araya eleman eklediğimiz için Arraylist’in eleman sayısı da artmış olur (tıpkı otobüs beklerken birinin araya girmesi gibi). Fonksiyonun ilk parametresine elemanı eklemek istediğimiz indis numarasını, ikinci parametreye ise elamanı yazarız.
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 numaralı indisine ff ekledik.
diziListenin eleman sayısı 6 oldu. |
||
textBox1.Text
= diziListe[2].ToString();
// textBox1'in içine ff yazar. |
}
|
Fonksiyonun Insert fonksiyonunda tek farkı araya birden fazla elemanı 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 numaralı indisinden sonra {10,11,12}
dizisini ekledik. diziListenin eleman sayısı 8 oldu. // diziListenin son
hali{0,1,10,11,12,2,3,4,5} şeklidedir. |
textBox1.Text
= diziListe[2].ToString();
// textBox1'in içine 10 yazar. |
||
}
|
Fonksiyona parametre olarak girilen elemanı Arraylist’in içinde bulur ve siler. Arraylist’in eleman sayısı 1 azalmış 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. |
}
|
Remove fonksiyonundan tek farkı parametre olarak elemanı değil elemanın indis numarasını almasıdır.
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. |
}
|
Arraylist’in eleman sıralamasını tersine çevirmek için kullanılır.
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 alır. |
||
textBox1.Text
= diziListe[2].ToString();
// textBox1'in içine 9 yazar. |
}
|
Arraylist’in elamanlarını küçükten büyüğe doğru sıralamak için kullanılır.
private
void button1_Click(object
sender, EventArgs e)
|
||
{
|
ArrayList
diziListe =
new ArrayList(); |
||
string []
dizi = new string [4] { "Ankara",
"İzmir", "İstanbul", "Gaziantep" }; |
diziListe.AddRange(dizi);
diziListe.Sort();
//dizinin son hali
{"Ankara","Gaziantep","İstanbul","İzmir"}
şeklinde olur. |
|
textBox1.Text
= diziListe[3].ToString();
// textBox1'in içine İzmir yazar. |
Hiç yorum yok:
Yorum Gönder