Dart – Map

In Genel, Blog
12 Temmuz 2021
5 min read

Dart – Map

Veri Türlerinde 3. Bölüm — Map

Map yapısı basit bir key — value listesi olarak adlandırılabilir. bir map’taki key value dediğimiz anahtar ve değerler herhangi bir türde tanımlanabilmektedirler. Map’ler süslü parantezler {}(ki listelerden ayıran özelliklerdendir []) ile oluşturulmaktadır.

Map’ler aynı zamanda dinamik koleksiyonlardır yani program runtime anında ekleme çıkarma yapılabilmektedir.

Map’leri kullanmanın iki yolu vardır.

1- Using Map Literals (Harita Değişmezlerini Kullanma)Bu yöntemde eşleme değişmezlerini kullanarak bir eşleme bildirmek için, anahtar değer çiftlerini bir çift küme parantezi “{}” içine almanız gerekir. Kullanım şekli ve örneği aşağıda verilmiştir.

Kullanım Şekli : var tanımlayıcı= { anahtar1:deger1, anahtar2:deger1[,…..,anahtar_n:deger _n] }

void main() { 
   var ayrinti ={'kullanici_adi':'hilal','sifre':'sifre@123'}; 
   print(ayrinti); 
}

******ÇIKTI******

{kullanici_adi: hilal, sifre: sifre@123}

2- Declaring a Map using a Map Constructor (Harita Oluşturucusu Kullanarak Harita Bildirme) : Bir Harita kurucusu kullanarak bir Harita bildirme yönteminde ise iki adım mevcut. İlk adımda haritayı oluşturuyoruz ikinci adımda ise haritayı başlatıyoruz. Kullanım şekli ve örneği aşağıda gösterilmiştir.

Map oluşturma : var tanımlayıcı = new Map()
Map başlatma : map_ismi[anahtar] = deger

void main() { 
   var ayrinti = new Map(); 
   ayrinti['kullanici_Adi'] = 'hilal'; 
   ayrinti['sifre'] = 'sifre@123'; 
   print(ayrinti); 
}

******ÇIKTI******

{kullanici_adi: hilal, sifre: sifre@123}

NOT : Bir harita değeri, NULL dahil herhangi bir nesne olabilir.


MAP ÖZELLİKLERİ

  • keys : Adından da anlaşılacağı gibi anahtarları temsil eden yinelenebilir bir nesne döndürür. Örnek olarak;
void main() { 
   var ayrinti ={'kullanici_adi':'hilal','sifre':'sifre@123'};
   print(ayrinti.keys); 
}
ÇIKTI
(kullanici_adi, sifre)
  • values Yine bu özelliğinde adından anlaşılacağı gibi değerleri temsil eden yinelenebilir bir nesne döndürür. Örnek olarak;
void main() { 
   var ayrinti ={'kullanici_adi':'hilal','sifre':'sifre@123'};
   print(ayrinti.values); 
}
ÇIKTI
(hilal, sifre@123)
  • length : Harita yani map’in uzunluğunu döndürür. Yine aynı örnek üzerinde gidecek olursak;
void main() { 
   var ayrinti ={'kullanici_adi':'hilal','sifre':'sifre@123'};
   print(ayrinti.length); 
}
ÇIKTI
2
  • isEmpty Harita boşsa true(doğru) döndürür. Aşağıdaki örnekte bir boş birde dolu map üzerinde çıktı alacağız. İlk örnekte değerler olduğu için false, ikinci örnekte map içeriği boş olduğu için true değeri dönmektedir.
void main() { 
  var ayrinti1 ={'kullanici_adi':'hilal','sifre':'sifre@123'}; 
   print(ayrinti.isEmpty); 
   var ayrinti2= {}; 
   print(ayrinti2.isEmpty); 
}
ÇIKTI
false
true
  • isNotEmpty : Haritada en az bir öğe varsa true değerini döndürür. Yukardaki örnek üzerinde gösterecek olursak bu sefer çıktılar tam tersi şekilde olacaktır.
void main() { 
  var ayrinti1 ={'kullanici_adi':'hilal','sifre':'sifre@123'}; 
   print(ayrinti.isNotEmpty); 
   var ayrinti2= {}; 
   print(ayrinti2.isNotEmpty); 
}
ÇIKTI
true
false

MAP FONKSİYONLARI

  • addAll() Listerlerdeki list.add özelliğiyle aynı işlevi görmektedir. Map içerisine yeni bir anahtar-değeri eklemek için kullanılır. Map.addAll(Map)
void main() { 
   Map bilgi = {'İsim':'Hilal','Soy İsim':'Kaynarca'}; 
   print('Map :${bilgi}'); 
   
   bilgi.addAll({'Yaş': 24,'Meslek':'Yazılım Mühendisi'}); 
   print('Yeni veriler girilince yeni map :${bilgi}'); 
}
ÇIKTI
Map :{İsim: Hilal, Soy İsim: Kaynarca} 
Yeni veriler girilince yeni map :{İsim: Hilal, Soy İsim: Kaynarca, Yaş: 24, Meslek: Yazılım Mühendisi}
  • clear()Tüm key-value değerlerini haritadan kaldırır.
void main() { 
   Map bilgi = {'İsim':'hilal','Soy İsim':'Kaynarca'}; 
   print('Map :${bilgi}'); 
   
   bilgi.clear();
   print('Temizlenince Map :${bilgi}'); 
}
ÇIKTI
Map :{İsim: hilal, Soy İsim: Kaynarca} 
Temizlenince Map :{}
  • remove() : Anahtarı ve varsa ilgili anahtarın değerini haritadan kaldırır. Bu fonksiyon ayrıca anahtarla ilişkili değeri de döndürür. Map.remove(Object key)

PARAMETRELERİ

1- Keys  silinecek girişi tanımlar
2-Return Type  Belirtilen anahtara karşılık gelen değeri döndürür.

void main() { 
   Map bilgi = {'İsim':'hilal','Soy İsim':'Kaynarca'}; 
   print('Map :${bilgi}'); 
   
   dynamic res = bilgi.remove('İsim'); 
   print('Haritadan çıkarılan değer :${res}');
}
ÇIKTI
Map :{İsim: hilal, Soy İsim: Kaynarca} 
Haritadan çıkarılan değer : hilal
  • forEach()Belirtilen işlevi her harita girişine uygular. Başka bir deyişle, forEach, harita girişleri arasında yinelemeyi sağlar.

Map.forEach(void f(K key, V value));

PARAMETLERİ

1f(K key, V value) — Haritanın her anahtar-deger çiftine f’yi uygular. F çağrısı haritadan anahtar eklememeli veya kaldırmamalıdır.
2- Return Type— void

void main() { 
   Map bilgi = {'İsim':'hilal','Soy İsim':'Kaynarca'}; 
   bilgi.forEach((k,v) => print('${k}: ${v}')); 
}
ÇIKTI
İsim: hilal 
Soy İsim: Kaynarca

Bu yazımla da Map konusunu anlatarak Dart dilindeki veri tiplerine noktayı koymuş bulunmaktayız ✌️

Umarım bu yazımda anlaşılır ve faydalı olup okurken sizleri sıkmamışımdır… Yine her yazımda olduğu gibi bu yazımda da yorum, görüş ve desteklerinizi bekliyorum 🙂

Bir sonraki yazı da görüşmek üzeree.. FLUTTER ve DART’lı günleriniz olsun 🙂

Bir yanıt yazın

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