Generic collection
- Dart kursu
- Orta seviye
- Ders 33/116
- 5 dk
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
// Map<String, int> tanımla
// ages['Ayşe'] yazdır
void main() {
}Örnek çözüm
// 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
Map____ ages = {'Ayşe': 28};
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 |