C# Dilinde Koleksiyonlar - 1

C# Dilinde Koleksiyonlar – 1

C# Dilinde ArrayList, HashTable, SortedList, Stack, Queue…

1- ARRAYLIST

using System; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; //arraylist için bu kütüphane ekli olmalıdır  namespace NetFrameWork.S6.D1.ArrayListKullanimi {     class Program     {         static void Main(string[] args)         {             ArrayList A1 = new ArrayList(); //bu şekilde arraylist oluşturduk             //BİR ARRAYLIST object tipinde veri aldığından int, string, float her türlü veri alır.             A1.Add(1);             A1.Add("KODLASANA.COM");                             ArrayList A2 = new ArrayList();             A2.Add("TUTKU ÇAKIR");              A1.AddRange(A2); //AddrRange methodu ile A2 ArrayListinin tüm elemanlarını A1 arraylistine ekledik.             //şuan a1 listesine baktığımızda toplam 3 elemanın olduğunu görürüz. En son'a A2'den gelen liste eklenmiştir.         }     } }

ArrayListte Count ve Capacity komutları

        static void Main(string[] args)         {             ArrayList A1 = new ArrayList(); //bu şekilde arraylist oluşturduk             //BİR ARRAYLIST object tipinde veri aldığından int, string, float her türlü veri alır.             A1.Add(1);             A1.Add("KODLASANA.COM");              int Kapasite = 0;             int Sayi = 0;             Kapasite = A1.Capacity;             //kapasite ArrayListlerde 4'er şeklinde artar. 5.eleman eklendiğinde 8 eleman kapasiteli olur4.             //Capacity komutu kullanılan arrayListin kapasitesini int veritipinde döndürür.             Sayi = A1.Count;             //Count komutu arraylistin toplam eleman sayısını verir.                            ArrayList A2 = new ArrayList();             A2.Add("TUTKU ÇAKIR");              A1.AddRange(A2); //AddrRange methodu ile A2 ArrayListinin tüm elemanlarını A1 arraylistine ekledik.             //şuan a1 listesine baktığımızda toplam 3 elemanın olduğunu görürüz. En son'a A2'den gelen liste eklenmiştir.         } 

ArrayList’e eklenen değerlere tekil olarak ulaşmak, düzenlemek ve silmek

            ArrayList A1 = new ArrayList(); //bu şekilde arraylist oluşturduk             //BİR ARRAYLIST object tipinde veri aldığından int, string, float her türlü veri alır.             A1.Add(1);             A1.Add("KODLASANA.COM");                    ArrayList A2 = new ArrayList();             A2.Add("TUTKU ÇAKIR");             A2.Add("MYNET.COM");             A2.Add("tutkucakir.com.tr");              A1.AddRange(A2); //AddrRange methodu ile A2 ArrayListinin tüm elemanlarını A1 arraylistine ekledik.             //şuan a1 listesine baktığımızda toplam 3 elemanın olduğunu görürüz. En son'a A2'den gelen liste eklenmiştir.              //AŞAĞIDAKİ KODLA KOLEKSİYON İÇİNDEKİ VERİYE ULAŞABİLİRİZ             object o1 = A1[3];             string s1 = A1[3].ToString();             int I1 = (int)A1[1]; //BİLİNÇSİZ TÜR DÖNÜŞÜMÜ İŞLEMİ              A1[1] = "AHMET ÇAKIR"; // BU ŞEKİLDE ARRAYLİST İÇİNDEKİ ELEMAN DEĞİŞTİRİLEBİLİR.              A1.Remove("MYNET.COM"); // LİSTE İÇERİSİNDEN BULUR VE KALDIRIR             A1.RemoveAt(3); //3.INDEXI BULUR VE KALDIRIR             A1.RemoveRange(3,2); //3.INDEXTEN SONRA 2 İNDİS İÇİN SİLME İŞLEMİ YAPAR

ArrayList sıralama işlemleri:

            ArrayList A1 = new ArrayList(); //bu şekilde arraylist oluşturduk             //BİR ARRAYLIST object tipinde veri aldığından int, string, float her türlü veri alır.             A1.Add(1);             A1.Add("KODLASANA.COM");                    ArrayList A2 = new ArrayList();             A2.Add("TUTKU ÇAKIR");             A2.Add("MYNET.COM");             A2.Add("tutkucakir.com.tr");              A1.AddRange(A2); //AddrRange methodu ile A2 ArrayListinin tüm elemanlarını A1 arraylistine ekledik.             //şuan a1 listesine baktığımızda toplam 3 elemanın olduğunu görürüz. En son'a A2'den gelen liste eklenmiştir.              //koleksiyonu A-Z SIRALAMA             A1.Sort(); // içeriği A-Z ŞEKLİNDE SIRALAR. int varsa hata verdirir. string ile inti karşılaştıramıyor.             A1.Reverse(); // koleksiyondaki mevcut indexin tersten sıralar.             //reverse indexler test döndüğünden içeriğin karışıklığı farketmez.

ArrayList içindeki çeşitli methodlar

            ArrayList A1 = new ArrayList(); //bu şekilde arraylist oluşturduk             //BİR ARRAYLIST object tipinde veri aldığından int, string, float her türlü veri alır.             A1.Add(1);             A1.Add("KODLASANA.COM");                    A1.Add("TUTKU ÇAKIR");             A1.Add("MYNET.COM");             A1.Add("tutkucakir.com.tr");              bool kontrol1 = A1.Contains("TUTKU"); //KOLEKSİYONDA BULURSA TRUE DÖNER             bool kontrol2 = A1.Contains(1);             if (A1.Contains("MYNET.COM")) {                  int IndexDegeri=A1.IndexOf("MYNET.COM"); // bulduğu içeriğin index değerini verir.             A1.RemoveAt(IndexDegeri);//bulduğumu silebilirim             A1[IndexDegeri] = "KODLASANA2.COM"; // BULDUĞUMU GÜNCELLERİM             }//if ile kontrol edebiliriz.              A1.Clear(); //clear methodu ile koleksiyon boşalır.             A1.TrimToSize(); // kullanılmayan kapasitesi temizler. ramden düşürür.             object [] d1= A1.ToArray(); //tüm dataları dizi olarak bize verir.              

ArrayList sıralama örneği

            //10 elemanlı string arraylist içindeki değerleri z-a olacak şekilde sıralayın              ArrayList OrnekList = new ArrayList();             OrnekList.Add("fatma");             OrnekList.Add("Zeynep");             OrnekList.Add("Ayşe");             OrnekList.Add("Ahmet");             OrnekList.Add("Mehmet");             OrnekList.Add("Fatih");             OrnekList.Add("Burhan");             OrnekList.Add("Hamza");             OrnekList.Add("Tevfik");              OrnekList.Sort();             OrnekList.Reverse();              foreach (object item in OrnekList)             {                 Console.WriteLine(item.ToString());             }

ÖRNEK ArrayList uygulaması:

using System; using System.Collections; using System.Linq; using System.Text; using System.Threading.Tasks;  namespace NetFrameWork.S6.D2.ArrayListProje {     class Program     {         static void Main(string[] args)         {             ArrayList degerListesi = new ArrayList();              Menu: Console.WriteLine("Menü"); //goto kodunda kullanmak için Menu: etiketini verdik             Console.WriteLine("1 - DEĞER EKLE");             Console.WriteLine("2 - DEĞER LİSTELE");             Console.WriteLine("3 - DEĞER ARA");             Console.WriteLine("4 - DEĞER DÜZENLE");             Console.WriteLine("5 - DEĞER SİL");             Console.WriteLine("6 - UYGULAMADAN ÇIKIŞ");             Console.Write("\nSeçiniz: ");             string kullaniciSecim = Console.ReadLine();                            switch (kullaniciSecim)             {                 case "1":                      Console.Write("\nDeğer eklemek için bir değer giriniz: ");                     string veriGirisi = Console.ReadLine();                     degerListesi.Add(veriGirisi);                     Console.WriteLine("\n Veri girişi başarıyla gerçekleştirildi.\n\n--------------------------");                     goto Menu; //menüye git anlamındadır.                      break;                  case "2":                     Console.WriteLine("\nDeğerler Listelendi: ");                     foreach (string item in degerListesi)                     {                         Console.WriteLine(item);                     }                     Console.WriteLine("\n\n--------------------------");                     goto Menu;                     break;                  case "3":                     Console.Write("\nAramak İstediğiniz Değeri Giriniz: ");                     string arananDeger = Console.ReadLine();                     bool aramaSonuc=degerListesi.Contains(arananDeger);                     if (aramaSonuc) {                         Console.WriteLine("Aradığınız sonuç bulundu!");                         Console.WriteLine("Aradığınız değerin index numarası {0}", degerListesi.IndexOf(arananDeger));                     }                     else{                         Console.WriteLine("Aradığınız değere ulaşılamadı.");                     }                     Console.WriteLine("\n\n--------------------------");                     goto Menu;                     break;                 case "4":                     Console.Write("\nDüzenlemek İstediğiniz Değeri Giriniz: ");                     arananDeger = Console.ReadLine();                     aramaSonuc = degerListesi.Contains(arananDeger);                     if (aramaSonuc)                     {                         Console.WriteLine("Düzenlemek istediğiniz veri için yeni değer giriniz:");                         string yeniDeger = Console.ReadLine();                         degerListesi[degerListesi.IndexOf(arananDeger)] = yeniDeger;                         Console.WriteLine("Liste başarıyla güncellendi");                     }                     else                     {                         Console.WriteLine("Düzenlemek İstediğiniz değere ulaşılamadı.");                     }                     Console.WriteLine("\n\n--------------------------");                     goto Menu;                     break;                 case "5":                     Console.Write("\nSilmek İstediğiniz Değeri Giriniz: ");                     arananDeger = Console.ReadLine();                     aramaSonuc = degerListesi.Contains(arananDeger);                     if (aramaSonuc)                     {                         degerListesi.Remove(arananDeger);                     }                     else                     {                         Console.WriteLine("Silmek İstediğiniz değere ulaşılamadı.");                     }                     goto Menu;                      break;                 case "6":                     Environment.Exit(0);                     break;                  default: goto Menu;  break;             }         }     } } 

Hashtable Genel Kullanımı

using System; using System.Collections; using System.Linq; using System.Text; using System.Threading.Tasks;  namespace NetFrameWork.S6.D3.HashTableOrnek {     class Program     {         static void Main(string[] args)         {             //HASHTABLE GENEL KULLANIMI             Hashtable H1 = new Hashtable();             //key ve value değerleri alır.             H1.Add("Car", "Araba"); //OBJE OLARAK KEY, OBJE OLARAK VALUE DEĞERİ OLMALIDIR. KEY DEĞERİ BENZERSİZDİR. DATAYA YANİ VALUE ALANINA ERİŞMEK İÇİN KEY KULLANIRIZ.             H1.Add("House", "Ev");             //.Add methodu ile yeni değer ekledik.              H1.Add("Cars", "Araba"); //value 2-3-4 istediğiniz kadar aynı olabilir ancak keys kısmı benzersiz olmalıdır.            /* H1.Add("Cars", "Arabalar"); //aynı keyden var olduğundan hata verir.             * HATA ÇIKTISI:             *              * System.ArgumentException: 'Öğe zaten eklenmiş. Sözlükteki anahtar: 'Cars' Eklenen anahtar: 'Cars''             *              * System.ArgumentException: 'Öğe zaten eklenmiş. Sözlükteki anahtar: 'Cars' Eklenen anahtar: 'Cars''             *              */         }     } } 

Hashtable metotları, ArrayListtekilerle benzerdir, kullanımı hemen hemen aynıdır.

using System; using System.Collections; using System.Linq; using System.Text; using System.Threading.Tasks;  namespace NetFrameWork.S6.D3.HashTableOrnek {     class Program     {         static void Main(string[] args)         {             //HASHTABLE GENEL KULLANIMI             Hashtable H1 = new Hashtable();             //key ve value değerleri alır.             H1.Add("Car", "Araba"); //OBJE OLARAK KEY, OBJE OLARAK VALUE DEĞERİ OLMALIDIR. KEY DEĞERİ BENZERSİZDİR. DATAYA YANİ VALUE ALANINA ERİŞMEK İÇİN KEY KULLANIRIZ.             H1.Add("House", "Ev");             //.Add methodu ile yeni değer ekledik.              H1.Add("Cars", "Araba"); //value 2-3-4 istediğiniz kadar aynı olabilir ancak keys kısmı benzersiz olmalıdır.              // yardımcı metotlar             //liste içinde değer arama işlemi             bool kontrol = H1.Contains("Car"); //key içinde arama yapar var ise true döner             bool kontrol2 = H1.Contains("Door"); // aranan değer yok ise false döner             bool kontrol3 = H1.ContainsKey("House"); //Contains ile aynı işlemi yapar              bool kontrol4 = H1.ContainsValue("Araba");              H1.Clear(); // koleksiyon içerisindeki tüm datayı siler...              // H1.CopyTo();             int koleksiyonicindekitoplamelemansayisi = H1.Count;             H1.Remove("Cars"); // Cars keyini bulur ve siler              H1["House"] = "Villa"; // House key olan verinin VALUE alanını Villa olarak yapar.            }     } } 

SortedList kullanımı

using System; using System.Collections; using System.Linq; using System.Text; using System.Threading.Tasks;  namespace NetFrameWork.S6.D5.SortedListGenel {     class Program     {         static void Main(string[] args)         {             //key alanı tek veri tipinde olmalıdır ya int ya string buna göre sıralama yapar             // sıralama listesidir.              SortedList sortedList = new SortedList();             sortedList.Add(100, "Yüz");             sortedList.Add(90, "Doksan");             sortedList.Add(1, "Bir");             sortedList.Add(9000, "Dokuz bin");             // SortedList listeye eklerken sıralayarak ekler...             Console.ReadLine();          }     } } //hashtable ile aynı metotları kullanır.

Stack kullanımı

            Stack s1 = new Stack();             //son giren ilk önce çıkar... mutfakta dizili tabakları düşünün son eklediğinen ilk alınır ve ona yemek doldurulur...             s1.Push("bir");             s1.Push("iki");             s1.Push("üç");             s1.Push("dört");              object o1 = s1.Pop(); // datayı karşıya gönderdi ve kendisinden kaldırdı             object o2 = s1.Peek(); // datayı karşıya gönderdi, ancak veriyi kendisinden çıkarmadı. sadece gösterme işlemi yaptı.

Queue kullanımı

            Queue kuyruk = new Queue();             kuyruk.Enqueue("bir");             kuyruk.Enqueue("iki");             kuyruk.Enqueue("üç");             kuyruk.Enqueue("dört");             //eklenen sırada sıralanır...              object o1 = kuyruk.Peek(); // ilk değeri gösterdi - ön izleme gibi bir işlem              object o2 = kuyruk.Dequeue(); // değeri gösterir sonrasında da koleksiyon içinden siler.

Yayımlandı

kategorisi

yazarı:

Yorumlar

Bir yanıt yazın

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