Merhabalar.

Dart eğitimlerine Map kavramıyla devam ediyoruz.

Map aslında bir Dictionarydir.

Key ve value tiplemesiyle çalışır.

Her key değerinin bir value değeri vardır.

Bir map içinde bir key birden fazla kullanılamaz.

Bir key’in değeri bir değer olabileceği gibi bir dizide olabilir.

Tanımlama

void main(){

  var map1 = {"a" : 1, "b" : 2 };
  var map3 = {"a" : 1, "b" : 2, 1 : "Murat", 2 : "Bilginer"};

}

Map üzerinde bir değere ulaşmak için key değerini çağırabiliriz.

print(map3["a"]);
H:\Dart_Tutorial\hello_dart\bin>dart 23_map.dart
1

Map üzerinde bir değeri key değerinden ulaşıp güncelleyebiliriz.

map3["a"] = 25;
  print(map3["a"]);
H:\Dart_Tutorial\hello_dart\bin>dart 23_map.dart
1
25

Map üzerinde var olmayan bir key ve değeri aşağıdaki gibi eklenebilir.

map3[3] = "Murat";
  print(map3[3]);
  print(map3);
H:\Dart_Tutorial\hello_dart\bin>dart 23_map.dart
1
25
Murat
{a: 25, b: 2, 1: Murat, 2: Bilginer, 3: Murat}

Bir key değerine liste ataması yapılabilir.

var map4 = Map();
  var list1 = List();
  list1.add(1);
  list1.add(2);
  list1.add(3);

  map4[1] = "a";
  map4[2] = "b";
  map4[3] = [4,5,6];
  map4[4] = list1;

  print(map4);

  for(var i in map4[4]){
    print(i);
  }

  print(map4[3]);
H:\Dart_Tutorial\hello_dart\bin>dart 23_map.dart
1
25
Murat
{a: 25, b: 2, 1: Murat, 2: Bilginer, 3: Murat}
{1: a, 2: b, 3: [4, 5, 6], 4: [1, 2, 3]}
1
2
3
[4, 5, 6]

Map içindeki keyleri değer olarak görmek istersek aşağıdaki yöntemi kullanabiliriz.

Aynı şekilde value değerlerine de ulaşılabilir.

print(map4.keys);
  print(map4.values);
H:\Dart_Tutorial\hello_dart\bin>dart 23_map.dart
1
25
Murat
{a: 25, b: 2, 1: Murat, 2: Bilginer, 3: Murat}
{1: a, 2: b, 3: [4, 5, 6], 4: [1, 2, 3]}
1
2
3
[4, 5, 6]
(1, 2, 3, 4)
(a, b, [4, 5, 6], [1, 2, 3])

Bir map’in uzunluğunu length metodu ile alabiliriz.

print(map4.length);
H:\Dart_Tutorial\hello_dart\bin>dart 23_map.dart
1
25
Murat
{a: 25, b: 2, 1: Murat, 2: Bilginer, 3: Murat}
{1: a, 2: b, 3: [4, 5, 6], 4: [1, 2, 3]}
1
2
3
[4, 5, 6]
(1, 2, 3, 4)
(a, b, [4, 5, 6], [1, 2, 3])
4

Map içine map eklenebilir.

var map5 = Map();

  map5 = {
    "innerMap": {
      "key1": "innerMap birinci değer",
      "key2": "innerMap ikinci değer"
    },
    "version": 1,
    "live": true
  };
  
  print(map5);
H:\Dart_Tutorial\hello_dart\bin>dart 23_map.dart
1
25
Murat
{a: 25, b: 2, 1: Murat, 2: Bilginer, 3: Murat}
{1: a, 2: b, 3: [4, 5, 6], 4: [1, 2, 3]}
1
2
3
[4, 5, 6]
(1, 2, 3, 4)
(a, b, [4, 5, 6], [1, 2, 3])
4
{innerMap: {key1: innerMap birinci değer, key2: innerMap ikinci değer}, version: 1, live: true}

Bir değer key değeri verilerek map’den silinebilir.

map4.remove(1);
  print(map4);
H:\Dart_Tutorial\hello_dart\bin>dart 23_map.dart
1
25
Murat
{a: 25, b: 2, 1: Murat, 2: Bilginer, 3: Murat}
{1: a, 2: b, 3: [4, 5, 6], 4: [1, 2, 3]}
1
2
3
[4, 5, 6]
(1, 2, 3, 4)
(a, b, [4, 5, 6], [1, 2, 3])
4
{innerMap: {key1: innerMap birinci değer, key2: innerMap ikinci değer}, version: 1, live: true}
{2: b, 3: [4, 5, 6], 4: [1, 2, 3]}

Map yapısının key ve value değerlerinin tipini sınırlayabiliriz.

 Map<int, String> map6 = {1 : "Murat", 2 : "Ferhat"};
  
  print(map6);
H:\Dart_Tutorial\hello_dart\bin>dart 23_map.dart
1
25
Murat
{a: 25, b: 2, 1: Murat, 2: Bilginer, 3: Murat}
{1: a, 2: b, 3: [4, 5, 6], 4: [1, 2, 3]}
1
2
3
[4, 5, 6]
(1, 2, 3, 4)
(a, b, [4, 5, 6], [1, 2, 3])
4
{innerMap: {key1: innerMap birinci değer, key2: innerMap ikinci değer}, version: 1, live: true}
{2: b, 3: [4, 5, 6], 4: [1, 2, 3]}
{1: Murat, 2: Ferhat}

Ayrı ayrı liste türleri bir map’e key ve value olarak verilebilir.

Burada dikkat edilmesi gereken iki listenin uzunluklarının eşit olması gerektiğidir.

 var list2 = [1,2,3];
  var list3 = ["Murat", "Ferhat", "Meryem"];

  Map<int, String> map7 = Map.fromIterables(list2, list3);
  
  print(map7);
H:\Dart_Tutorial\hello_dart\bin>dart 23_map.dart
1
25
Murat
{a: 25, b: 2, 1: Murat, 2: Bilginer, 3: Murat}
{1: a, 2: b, 3: [4, 5, 6], 4: [1, 2, 3]}
1
2
3
[4, 5, 6]
(1, 2, 3, 4)
(a, b, [4, 5, 6], [1, 2, 3])
4
{innerMap: {key1: innerMap birinci değer, key2: innerMap ikinci değer}, version: 1, live: true}
{2: b, 3: [4, 5, 6], 4: [1, 2, 3]}
{1: Murat, 2: Ferhat}
{1: Murat, 2: Ferhat, 3: Meryem}

Map ile bilmemiz gereken önemli konuları böylece bitirmiş olduk.

Daha detaylı kısımlara yeri geldikçe bakacağız.

Bir sonraki yazımda görüşmek üzere.


What's Your Reaction?

hate hate
0
hate
fail fail
0
fail
fun fun
0
fun
geeky geeky
0
geeky
love love
0
love
lol lol
0
lol
omg omg
0
omg
win win
0
win
Murat Bilginer
21 Şubat 1992 Doğumlu. Endüstri Mühendisi olarak Lisansını 2016 yılında tamamlamıştır. Industryolog Akademi - NGenius oluşumlarının kurucusudur. Şu anda kendi şirketi Brainy Tech ile hem Yazılım Hizmetleri Sunmakta Hem de Online Eğitimler Vermektedir.