CodeBlanks Logo Icon CodeBlanks

Generic collection

List<T> ve Map<K,V> generic koleksiyonları öğrenirsin.

Generic koleksiyonlar

Dart'ın yerleşik koleksiyonları generic'tir. List<T> sıralı dizi, Map<K, V> anahtar-değer, Set<T> benzersiz küme verir. Tür parametresi, koleksiyonun hangi eleman türünü tutacağını söyler.

Örnek: Map<String, int> ages = {'Ayşe': 28, 'Alex': 30};. Burada anahtarlar String, değerler int'tir. ages['Ayşe'] bir int döner; yanlış tür okumak derleme hatası değil ama tür güvenli erişimdir. Generic koleksiyonlar, derleme zamanında eleman türünü sabitler; böylece döngülerde ve metot çağrılarında yanlış tür kullanımı önlenir.

İç içe generic koleksiyonlar

Generic koleksiyonların tür parametresi de başka bir generic olabilir. Bu, iç içe yapılar kurmanın yoludur.

Örnek: List<List<int>> grid = [[1, 2], [3, 4]];. Burada dış liste, her elemanı List<int> olan bir listedir; yani iki boyutlu bir sayı tablosu. grid[0] ilk satırı, grid[0][1] ilk satırın ikinci elemanını verir. Aynı biçimde Map<String, List<int>> gibi yapılar da kurulabilir. İç içe generic'ler, gerçek veri modellerini tür güvenli biçimde ifade etmenin güçlü aracıdır.

Uygulama Generic Map ile çalış

main içinde Map<String, int> ages değişkenini tanımla ve {'Ayşe': 28, 'Alex': 30} değeriyle başlat. Ardından print(ages['Ayşe']) çağrısı yap.

Başlangıç kodu

main.dart
// Map<String, int> tanımla
// ages['Ayşe'] yazdır

void main() {
}

Örnek çözüm

main.dart
// Map<String, int> tanımla
void main() {
  Map<String, int> ages = {'Ayşe': 28, 'Alex': 30};
  print(ages['Ayşe']);
}

Beklenen çıktı

28

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangisi generic koleksiyon bildirimidir?

  • List<String> names = []; Doğru cevap
  • String s = 'a';
  • var z = 10;
  • int x = 5;

Açıklama: List<String>, tür parametresi alan generic koleksiyondur.

2 Map bildirimini tamamla

Soru
Map____ ages = {'Ayşe': 28};
Cevap
Map<String, int> ages = {'Ayşe': 28};

Açıklama: Map<String, int> anahtarları String, değerleri int yapar.

3 Koleksiyon türlerini eşle

Kavram Anlamı
List<T> Sıralı dizi
Map<K, V> Anahtar-değer
Set<T> Benzersiz küme

Orta seviye bölümündeki tüm dersler