C# SortedList Class

Merhaba arkadaşlar,

Collections nesnelerini daha iyi anlamak için System.Collection isim alanında bulunan bazı arayüzleri uygulayarak kendi koleksiyon nesnelerimizi geliştirip işin mutfağında neler oluyor öğrenmeye çalışmıştık. System.Collection isim alanında bulunan arayüz ve koleksiyon tabanlı sınıflar ile ilgili serime burada ulaşabilirsiniz.

Bu yazımda .Net Platformunda hazır bulunan koleksiyon tabanlı SortedList sınıfını ele alacağız. SortedList sınıfının özelliklerinin ve metotlarını inceleyip örnek üzerinden pekiştiriyor olacağız.

SortedList sınıfı Hashtable ve ArrayList sınıfının karışımı gibidir. Hem anahtar-değer ikilisi hem de indeks numarasına göre koleksiyon içindeki elemanlara erişebilme imkanı sunar. En belirgin özelliği ise adından da anlaşılacağı gibi sıralı olmasıdır. Sıralı eleman anahtardır. Sıralama işlemi temel veri türlerine göre büyüklük ve küçüklüğe göre ayrılır. Ancak kendi IComparer arayüzünü kullanarak oluşturabiliriz.

SortedList sınıfının IDictionary, ICollection, IEnumerable ve ICloneable arayüzlerini uygulamaktadır.

Metot ve Özellikleri

SortenList nesnesini birden çok yapıcı metotlarla oluşturabiliriz.

Capacity özelliği ile SortedList nesnesini kapsitesini ulaşabilir veya değiştirebiliriz.

Keys özelliği ile SortedList nesnesindeki anahtarlara ICollection türünden erişebiliriz. Bu özellik ile aynı zamanda koleksiyon nesnesindeki elemanların değerlerine de ulaşabiliriz

Values özelliği ile SortedList nesnesindeki değerlere ICollection türünde erişebiliriz.

Indeksleyici özelliği ile koleksiyondaki elemanlardan birine anahtar değeri ile ulaşabiliriz.

Add(Object, Object) metodu ile SortedList nesnesine anahtar değer ikilisine sahip object türünde elemanlar ekleyebiliriz.

Clear() metodu ile SortedList nesnesindeki tüm elemanları silebiliriz.

GetByIndeks(Int32) metodu SortedList nesnesindeki belirtilen indeksteki elemana verir

GetKey(Int32) metodu ile belirtilen indeksteki anahtar değerini verir

GetValueList() metodu ile SortedList nesnesindeki değerleri IList türünden veriri.

Remove(Object) metodu ile belirtilen anahtara sahip elemanı siler.

! Yukarıda SortedList sınıfının bazı özelliklerini açıklamaya çalıştık. SortedList sınıfının diğer önemli metot ve özelliklerine buradan ulaşabilirsiniz.

Metot ve Özellikler kodunun son hali

SortedList sınıfının temel düzeyde bazı metot ve özelliklerini öğrenmiş olduk. Bu bilgiler ile SortedList sınıfını kullanarak uygulama yapıyor olacağız.

Belirli bir kaynaktan anahtar-değer ikilisinde olan ögeler var. Bu kaynak bir txt dosyası olabilir ve ya veri tabanından geliyor olabilir. Bizim kaynağımız Ülke ve nüfus sayıları olacak. Amacımız bu verileri kullanarak anahtar özelliğine göre sıralanmasını gözlemlemek. Koleksiyonumuzu Keys özelliği, DictionaryEntry yapısı ve IDictionaryEnumerator arayüzünü kullanarak 3 farklı yöntemle ekrana yazdıracağız ve her ekrana yazdırmadan önce koleksiyondan bir eleman sileceğiz. Eleman silerken o elemanın koleksiyonda içerip içermediğini kontrol edeceğiz.

Şimdi belirtiğimiz gereklilikleri karşılayacak bir uygulama yapmaya çalışalım. Örnek Uygulamanın son hali:

Bu yazımda hem anahtar-değer ikilisine sahip hem de bu anahtar değer ikilisine indeks numarası ile erişebildiğimiz .Net platformunda hazır bulnunan koleksiyon tabanlı SortedList sınıfının hakkında edinidğim bilgileri paylaşmaya çalıştım. Umarım faydalı olmuştur.

Bir sonraki yazımda System.Collection isim alanında hazır bulunan koleksiyon tabanlı BitArray sınıfını inceleyeceğiz. Bu sınıfın metot ve özelliklerini değinip örnek bir uygulama ile pekiştiriyor olacağız. Bir sonraki yazımızda görüşmek üzere 🙂

Kaynaklar:

Her Yönüyle C# 7.0, Sefer Algan, Pusula Yayincilik

https://docs.microsoft.com/tr-tr/dotnet/api/system.collections.sortedlist?view=netframework-4.8

https://docs.microsoft.com/tr-tr/dotnet/csharp/programming-guide/concepts/collections

Leave a Comment