Dart Map

 Bu yazımda sizlere diğer programlama dillerinde dictionary olarak da adlandırılan Map objesini kullanarak Dart dilinde Key/Value eşleştirmesi nasıl yaptığımızı açıklayacağım. Map’ler dinamik koleksiyonlardır yani program runtime anında ekleme çıkarma yapılabilmektedir. Map tanımlamasını çok basit bir şekilde aşağıdaki syntax’a uyarak yapabilmekteyiz.

var identifier = { key1:value1, key2:value2 [,…..,key_n:value_n] }

Üstteki syntax haricinde constructor method kullanarakda Map oluşturabilmekteyiz.

var identifier = new Map();

map_name[key] = value;

Örneklerle inceleyelim:

//Kullanıcılar ve şifrelerini içeren bir map aşağıdaki şekilde oluşturulabilir.

void main(){
	
	var kullanicilar = { 'izzet': 'VMware1!', 'ahmet':'VMware1!!', 'cengiz':'VMware123!'};

	print(kullanicilar);
}

//Üstteki örneğin aynısını constructor method yardımıyla da yapabilmekteyiz.

void main(){
	
	var kullanicilar = new Map();

	kullanicilar['izzet'] = 'VMware1!';
	kullanicilar['ahmet'] = 'VMware1!!';
	kullanicilar['cengiz'] = 'VMware123!';

	print(kullanicilar);

}

Map objesi ile kullanabileceğimiz bazı yararlı fonksiyonları örneklerle inceleyelim.

 //addAll kullanarak bir veya birden fazla girdiyi Map'e ekleyebilmekteyiz.
  kullanicilar.addAll({'can':'12345','admin':'passwd'});

  //clear fonksiyonu ile Map'de bulunan bütün girdileri temizleyebiliriz.
  kullanicilar.clear();

  //remove fonksiyonu gösterdiğimiz key'i baz alarak map'den ilgili Key/Value değeri silmektedir.
  kullanicilar.remove('izzet');

  //length fonksiyonu Map'in boyutunu çekmemizde bize yardımcı olmaktadır.
  print(kullanicilar.length);

Şimdi öğrendiğimiz bilgileri kullanarak çok basit bir kullanıcı oluşturma uygulaması yapabilir ve aldığımız input değerleri Map’e ekleyebiliriz.

Örnek Uygulama:

import 'dart:io'; 

void main(){
  
  var kullanicilar = new Map();

  print("Yeni kullanıcı oluşturma sistemine hoş geldiniz!");
  
  print("Kullanıcı Adınızı giriniz:");
  
  String kullanici_adi = stdin.readLineSync();
  
  print("Şifrenizi giriniz:");
  
  String sifre = stdin.readLineSync();

  kullanicilar.addAll({kullanici_adi:sifre});
  
  print(kullanicilar);
}

İzzet Can Yağcı

VCAP-DCV 2020, Double VCP-DCV Network & Virtualization, CCNA Routing & Switching, Windows Server 2012 70-410/411

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir