CodeBlanks Logo Icon CodeBlanks

Koleksiyonlar

List ve Map ile veri yönetimini yazarsın.

Koleksiyonlar

Kitapları tek tek değişkenlerde tutmak yerine bir List'te toplarız. List<Book> birden çok kitabı sıralı taşır. final books = <Book>[...]; ile bir liste yaratır, .add(...) ile ekler, for döngüsüyle gezersin.

Bu derste önce List ile birkaç kitabı toplayıp sayılarını ve ilk kitabı yazdıracağız. Listenin uzunluğunu .length ile alırsın; örneğin books.length bize kitap sayısını verir. Belirli bir öğeyi books[0] gibi indeksle alırsın. Sonraki derslerde for döngüsüyle tüm listeyi gezeceğiz.

List ile kitap ekle

Bir List'e öğe eklemek için .add(...) veya .addAll([...]) kullanılır. Listenin başında final books = <Book>[Book("Suç ve Ceza"), Book("Sefiller")]; yazarak doğrudan da başlatabilirsin. Bu, liste kurmanın deyimsel yoludur.

Listenin uzunluğunu .length ile alırsın; örneğin books.length bize kitap sayısını verir. Belirli bir öğeyi books[0] gibi indeksle alırsın. books[0].title ilk kitabın başlığını verir. Bu araçlarla koleksiyon üzerinde hem sayım hem erişim yapabilirsin.

Uygulama Kitapları listele

Aşağıdaki kodda Library ve Book sınıfları ile tek bir kitap zaten tanımlı. main içinde final books = <Book>[Book("Suç ve Ceza"), Book("Sefiller")]; ile iki kitaplık bir liste oluştur. print("Sayı: ${books.length}") ile sayıyı ve print("İlk: ${books[0].title}") ile ilk kitabın başlığını yazdır.

Başlangıç kodu

main.dart
class Library {
  String name;
  Library(this.name);
  void info() {
    print("Kütüphane: $name");
  }
}

class Book {
  String title;
  Book(this.title);
}

void main() {
  final lib = Library("Şehir");
  lib.info();
  final b = Book("Suç ve Ceza");
  print("Yeni kitap: ${b.title}");
  // iki kitaplık bir liste oluştur, sayı ve ilk kitabı yazdır
}

Örnek çözüm

main.dart
class Library {
  String name;
  Library(this.name);
  void info() {
    print("Kütüphane: $name");
  }
}

class Book {
  String title;
  Book(this.title);
}

void main() {
  final lib = Library("Şehir");
  lib.info();
  final b = Book("Suç ve Ceza");
  print("Yeni kitap: ${b.title}");
  final books = <Book>[Book("Suç ve Ceza"), Book("Sefiller")];
  print("Sayı: ${books.length}");
  print("İlk: ${books[0].title}");
}

Beklenen çıktı

Kütüphane: Şehir
Yeni kitap: Suç ve Ceza
Sayı: 2
İlk: Suç ve Ceza

Soru ve cevaplar

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

1 Birden çok kitabı sıralı tutmak için hangisi?

main.dart
final books = <Book>[];
books.add(Book("Suç"));
  • List<Book>
  • Map<Book>
  • Set<Book> Doğru cevap
  • Book

Açıklama: List<Book> birden çok kitabı sıralı taşır.

2 Liste uzunluğu

Soru
final books = <Book>[Book("Suç"), Book("Sefiller")];
print(books.____);
Cevap
final books = <Book>[Book("Suç"), Book("Sefiller")];
print(books.length);

Açıklama: listenin uzunluğu length ile alınır.

3 Koleksiyonları eşleştir

Kavram Anlamı
List<Book> sıralı kitap listesi
.add(book) listeye ekler
.length öğe sayısı
books[0] ilk öğe

Başlangıç bölümündeki tüm dersler