Menu
Coddy logo textTech

Liste Durumu: isEmpty & isNotEmpty

Coddy'nin Dart Journey'sinin Mantık & Akış bölümünün bir parçası — ders 2 / 65.

Liste öğeleriyle çalışmadan önce, listenizin gerçekten herhangi bir öğe içerip içermediğini bilmek önemlidir. Dart, bir listenin durumunu kontrol etmek için iki basit özellik sunar: isEmpty ve isNotEmpty.

isEmpty özelliği, liste hiç eleman içermiyorsa true, en az bir eleman içeriyorsa false değerini döndürür. isNotEmpty özelliği ise tam tersi şekilde çalışır - liste eleman içerdiğinde true, boş olduğunda ise false değerini döndürür.

List<String> emptyCart = [];
List<String> shoppingCart = ['apples', 'bread', 'milk'];

print(emptyCart.isEmpty);      // doğru
print(emptyCart.isNotEmpty);   // yanlış

print(shoppingCart.isEmpty);   // yanlış
print(shoppingCart.isNotEmpty); // doğru

Bu özellikler, liste öğelerine erişmeye çalışırken hataları önlemek için özellikle yararlıdır. .first veya .last gibi özellikleri kullanmadan önce bir listenin boş olup olmadığını kontrol etmek, daha güvenli ve daha güvenilir kod yazmanıza yardımcı olur.

challenge icon

Görev

Kolay

Görev listelerinin boş olup olmadığını veya öğe içerip içermediğini kontrol ederek bir görev kuyruğu sistemini yöneten bir program oluşturun. Programınız şunları yapmalıdır:

  1. Kuyruk adını temsil eden bir dize (string) girdisi okuyun
  2. Görevleri temsil eden birden fazla dize girdisi okuyun (boş bir dize aldığınızda girdi sona erecektir)
  3. Görev listesinin boş olup olmadığını kontrol etmek için isEmpty özelliğini kullanın
  4. Görev listesinin görev içerip içermediğini kontrol etmek için isNotEmpty özelliğini kullanın
  5. Kuyruk durumunu aşağıda gösterilen tam formatta yazdırın

Örneğin, kuyruk adı "Daily Tasks" ise ve görevler "Review emails", "Attend meeting", "Write report" ise programınız şu çıktıyı vermelidir:

Queue: Daily Tasks
Has tasks: true
Is empty: false
Task count: 3
Status: Ready for processing

Eğer kuyruk adı "Weekend Tasks" ise ve hiçbir görev sağlanmamışsa (boş girdi), programınız şu çıktıyı vermelidir:

Queue: Weekend Tasks
Has tasks: false
Is empty: true
Task count: 0
Status: No tasks to process

Programınız kuyruk durumunu belirlemek için hem isEmpty hem de isNotEmpty özelliklerini kullanmalıdır. Durum mesajı, görevler mevcut olduğunda "Ready for processing" ve kuyruk boş olduğunda "No tasks to process" olmalıdır.

Kopya kağıdı

Bir listenin öğe içerip içermediğini kontrol etmek için isEmpty ve isNotEmpty özelliklerini kullanın:

List<String> emptyCart = [];
List<String> shoppingCart = ['apples', 'bread', 'milk'];

print(emptyCart.isEmpty);      // true
print(emptyCart.isNotEmpty);   // false

print(shoppingCart.isEmpty);   // false
print(shoppingCart.isNotEmpty); // true

Bu özellikler, liste öğelerine erişirken hataları önlemeye yardımcı olur ve kodu daha güvenli ve güvenilir hale getirir.

Kendin dene

import 'dart:io';

void main() {
  // Kuyruk adını oku
  String? queueName = stdin.readLineSync();
  
  // Boş dize alınana kadar görevleri oku
  List<String> tasks = [];
  String? task;
  while ((task = stdin.readLineSync()) != null && task!.isNotEmpty) {
    tasks.add(task);
  }
  
  // TODO: Kodunuzu aşağıya yazın
  // Kuyruk durumunu kontrol etmek için tasks.isEmpty ve tasks.isNotEmpty özelliklerini kullanın
  // Görevlerin olup olmadığına bağlı olarak uygun durum mesajını belirleyin
  
  // Sonuçları yazdır
  print('Queue: $queueName');
  // Görevlerin olup olmadığını, boş olup olmadığını, görev sayısını ve durumu yazdır
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler