Kotlin Map Kullanımı ve Fonksiyonları

Java Kotlin Eğitimi

Merhaba Arkadaşlar,
Mobilhanem.com sitemiz üzerinden anlattığımız Kotlin Dersleri yazı serimizde bu dersimizde Kotlin Map kullanımını ve methodlarını anlatacağız.

Önceki yazılarımızda Set kullanımından bahsetmiştik.  O dersimizi okumadıysanız öncelikle o dersimizi okumanızı tavsiye ederim. Derse gitmek için tıklayınız.

Java Kotlin Eğitimi

Kotlin Map

Koleksiyon oluşturmak için kullanabileceğimiz başka bir sınıf ise Map sınıfıdır. Map sınıfı kullanılarak bir nesne başka bir nesne ile ilişkilendirilebilir. Bu sınıf kullanılarak bir veriye ne şekilde erişeyeceğimizi kendimiz belirleyebiliriz. Dizi ve listelerde bulunan verilere erişmek için anahtar ifadeler kullanılır. Tek farkı ise dizi ve listelerdeki gibi anahtar ifadeler sistem tarafından oluşturulmaz. O değerleri geliştirici tarafından oluşturulur.

 

Map < Int, String > () : 1.değer key bilgisini vermektedir. Verilere ulaşmak için bu bilgi kullanılır. 2.değer ise map te tutulacak verinin tipini belirtir. Map yapısında veriye erişmek için istenilen veri tipinde bir anahtar ifade oluşturabilirsiniz. Key bilgisi eşsiz olmalıdır. Map te aynı olan iki anahtar ifade kullanılmaz.

 

Map sınıfı iki temel üzerine inşa edilmiştir :

  • immutable : mapOf() ile oluşturulan yapılarda sadece okuma işlemi yapılır. Bu map’ler üzerinde oynama yapılamaz.
  • mutable : mutableMapOf() ve hashMapOf() ile oluşturulan yapılarda ise üzerine ekleme, güncelleme ve silme işlemleri yapılabilir.

İlerleyen derslerde bu metodlarla ilgili detaylı bir blog yazısı yayınlayacağız. Şimdilik temel olarak bu bilgiler yeterlidir.

 

Map tanımlamak

Map tanımlanırken iki yöntem kullanılır. Birinci yöntem Anahtar değerlerini belirterek kullanılır. Int ve String türünde değerlerle oluşturulmuş bir map örneğidir. İkinci yöntem ise veri tipini belirtmeden tanımlanan map türüdür.

 

Map sınıfına item eklemek

Map sınıfına eleman eklemek için put() metodu kullanılır.

mutableMapOf türünde bir map oluşturduk. Char, Int türünde değerler alan bu map sınıfına eleman eklemek için put() metodunu kullandık. Belirlemiş olduğumuz formatın dışına çıkınca hata ile karşılaşılır. Örneğin String bir değer eklemek isterseniz buna izin vermeyip hata verecektir.

 

Map sınıfından bir item almak

Map içerisindeki bir veriye erişmek için get() metodu kullanılmaktadır.

Örnekte bir map oluşturduk. Oluşturulan map içerisine elemanları yazdık. Son olarak get() metodu yardımıyla eklenen key değerlerinden birinin sonucunu bulduk.

 

Map içerisinde verileri almanın başka bir yolu ise [] kullanıp içerisine key değeri yazmaktır.

 

Map içerisindeki elemanların tüm verilerini yazdırmak için key bilgisine kullanmamıza izin verilmemektedir. Key bilgileri rastgele ve karmaşık olarak verildiği için kullanılmaz. Aşağıdaki örnekte tüm elemanların değerleri ekranda nasıl gösterilir onu göreceğiz.

 

Kodumuzun çıktısı ise aşağıdaki gibidir. Key – Value şeklinde bir çıktı vermektedir.

 

Map sınıfından bir item silmek

Map sınıfından bir item silmek için remove() metodu kullanılır.

map sınıfımızdan 7 değerine sahip veriyi sildik. Ekran çıktısında ise o verinin silindiğini görebiliriz.

 

Map sınıfının önemli method ve değişkenleri

size : Map sınıfının boyutunu öğrenmemiz için kullanılan bir değişkendir.

hasMapOf() metodu ile String türünde bir map oluşturduk. Oluşturduğumuz map’in boyutunu öğrenmek istediğimiz için size metodu kullanıldı.

 

contains() metodu

Map sınıfının içerisinde bir eleman var mı yok mu onu kontrol edebilmek için kullanılan bir metoddur.

Map sınıfımızın içerisinde 4 key değerine sahip bir eleman var mı ? diye kontrol ettik. Kontrol sonucu true çıktı.  4 key değeri “AA” olduğu için true döndürdü. Diğer bir örnekte ise key değeri bulunmayan bir değer kullanıldı. Onun için false değeri döndürdü.

 

isEmpty() metodu

Map sınıfında eleman var mı yok mu diye kontrol etmemizi sağlayan bir metoddur. Map sınıfında eleman yoksa true değeri döner eğer elemana sahip ise false değeri döner.

İki adet map sınıfı tanımlandı. Birinci map sınıfı değerleri bulunan içi boş olmayan bir map sınıfıdır. isEmpty() metodu ile karşılaştırma yapınca false değeri geriye döndürdü. İkinci map sınıfı ise boştur. Boş olduğu için sonuç olarak bize true değerini geriye döndürdü.

 

clear() metodu

Map sınıfın içinde bulunan değerlerin hepsini temizler. Sonuç olarak bizlere kotlin.Unit değerini verir.

clear() metodu ile map sınıfında bulunan tüm değerler silindi. Sonuç olarak bizlere kotlin.Unit değerini verdi.

 

equals() metodu

İki ya da daha fazla Map sınıfının elemanlarının karşılaştırılmasında kullanılan bir metoddur.

3 adet map sınıfı tanımladık. Tanımlanan 2 sınıfta eleman değeri aynı olduğu için karşılaştırma sonucunda true değerini aldık. Ama diğer karşılaştırmada ise boş bir map ile string türünde bir map karşılaştırıldı. Birbirinden farklı oldukları için sonuç olarak bizlere false değerini döndürdü.

Bu dersimde anlatmak istediklerim bu kadar. Bir sonraki dersimde Sınıf ve nesne kavramlarını anlatacağız.

Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı yine konu altından ve Mobilhanem Soru&Cevap bölümünden sorabilirsiniz.

Tüm Kotlin Dersleri için tıklayınız.

 

 

 

Halil Özel

İstanbul Sabahattin Zaim Üniversitesi Bilgisayar Mühendisliği 3. sınıf öğrencisiyim. Üniversitede Java, C, C++ programlama dillerini öğrendim. Bu diller ile çeşitli uygulamalar geliştirdim. Kullanıcı arayüzü olarak Java'nın Swing API'si üzerinde çalışmalar yaptım. Python ve PHP dillerine giriş yaptım. Siber güvenlik alanına ilgiliyim. Android​ Uygulamalar geliştiriyorum. Kotlin ve Swift dillerini öğreniyorum. Linux işletim sistemini başlangıç seviyesinde biliyorum. Boş zamanlarımda kitap ve mesleki dergi okuyorum. Teknoloji ve bilişim bloglarını takip ediyorum. Medium da yazılım ile ilgili blog yazıları yazıyorum.
Kariyerime Android Developer ve iOS Developer olarak devam etmek istiyorum.

1 Yorum

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?