- 24 Nis 2021
- 43
- 0
Merhaba değerli TürkHackTeam ailesi, bugün ki konumda sizlere Map yapısından bahsedeceğim hemen konuya geçelim
Listelere benzeyen Map yapısı, verilerimizi anahtar/değer çiftleri şeklinde tutmamızı sağlar. Diğer bazı programlama dillerinde map yapısı, sözlük olarak adlandırılıyor. Yani tıpkı sözlükteki bir kelimenin ve karşılığının bir arada bulunması gibi, map yapısında da veriler çift olarak tutulurlar.
Aşağıdaki şekilde "Map sınıfından bir Map oluşturmak istiyorum" tarzında bir kod ile bir Map oluşturabiliyoruz. Tip belirtmek için başına Map yazabiliriz ya da var bildirimini kulanabiliriz.
Kod:
Map mapAdi = Map();
var mapAdi = Map();
Oluşturduktan sonra değer atamak için aşağıdaki yapıyı kullanıyoruz.
Kod:
mapAdi["anahtar1"] = "değer1";
Üstteki kod, mapAdi isimli Map'in içine anahtar1 isimli bir anahtar koyuyor, değer olarak da değer1'i veriyor. Eğer Map yapısı içinde anahtar1 isimli bir anahtar daha önce bulunsaydı, bu kez de değerini değiştirmiş olacaktık. Yani aynı anahtar iki kez eklenemiyor.
Örnek:
Kod:
var mapAdi = Map();
mapAdi["anahtar1"] = "değer1";
mapAdi["anahtar1"] = "değer11";
mapAdi["anahtar2"] = "değer2";
print(mapAdi);
// {anahtar1: değer11, anahtar2: değer2}
Map'in içindeki değerlere de anahtar ismi ile erişebiliyoruz.
Kod:
print(mapAdi["anahtar1"]);
print(mapAdi["anahtar2"]);
// değer11
// değer2
ya da basitçe aşağıdaki şekilde boş bir map oluşturabiliriz. = operatöründen sonra süslü parantez açıp kapatıyoruz. Verilemizi süslü parantezlerin içerisine yazacağız.
Kod:
Map mapAdi = {};
var mapAdi = {};
Üstteki yapı ile Map değişkenimizi oluşturduğumuz anda değer ataması yapabiliyoruz. Anahtar/Değer çiftlerinin arasına : (iki nokta işareti) koyduk ve çiftleri birbirinden virgülle ayırdık.
Kod:
Map renkler = {"renk1": "kırmızı", "renk2": "mavi", "renk3": "beyaz"};
Yine içine yeni değer eklemek istersek veya var olan değerleri değiştirmek istersek, daha önce yaptığımız gibi bunu yapabiliyoruz. Bir Map farklı tipten anahtar/değer çiftleri tutabilir. Anahtar ve değer aynı tipten olmak zorunda değildir.
Kod:
Map renkler = {"renk1": "kırmızı", "renk2": "mavi", "renk3": "beyaz"};
renkler["renk4"] = "turuncu";
renkler["renk1"] = "kahverengi";
renkler["renkNumarasi"] = 0123123;
renkler[123] = 21.3123;
print(renkler);
// {renk1: kahverengi, renk2: mavi, renk3: beyaz, renk4: turuncu, renkNumarasi: 123123, 123: 21.3123}
Map'lerin içerisindeki bir anahtara; bir başka Map ya da Liste de değer olarak verilebilir. Aşağıdaki şekilde önce iki tane listeyi, daha sonra da bir tane map'i; renkler isimli Map'imizin anahtarlarına değer olarak verebiliyoruz:
Kod:
Map renkler = {};
renkler["anaRenkler"] = ["sarı", "kırmızı", "mavi"];
renkler["araRenkler"] = ["yeşil", "turuncu", "mor"];
renkler["karisimlar"] = {
"KırmızıSarı": "turuncu",
"MaviSari": "yesil",
"KirmiziMavi": "Mor"
};
print(renkler);
// {anaRenkler: [sarı, kırmızı, mavi], araRenkler: [yeşil, turuncu, mor], karisimlar: {KırmızıSarı: turuncu, MaviSari: yesil, KirmiziMavi: Mor}}
Yine listelerde olduğu gibi Map'lerin de birçok metodu var. Bunlardan bazıları:
addAll() aynı anda birden fazla veriyi Map'e eklemek için kullanılır.
Kod:
renkler.addAll({"renk12": "yeşil", "renkKod": "123123"});
clear() tüm verileri temizler.
Kod:
renkler.clear();
remove() sadece belirtilen veriyi kaldırır.
Kod:
renkler.remove('renk1');
.length Map içindeki veri çiftlerinin sayısını verir.
Kod:
print(renkler.length);
.keys sadece Map içindeki anahtarları almak istersek kullanabilir.
Kod:
print(renkler.keys);
.values sadece Map içindeki değerleri almak istersek kullanabiliriz.
Kod:
print(renkler.values);
Bir konunun daha sonuna geldik arkadaşlar.Esen kalın