Menu
Coddy logo textTech

Listen-Status: isEmpty & isNotEmpty

Teil des Abschnitts Logik & Ablauf der Dart-Journey von Coddy — Lektion 2 von 65.

Bevor Sie mit Listenelementen arbeiten, ist es wichtig zu wissen, ob Ihre Liste tatsächlich Elemente enthält. Dart bietet zwei einfache Eigenschaften, um den Zustand einer Liste zu prüfen: isEmpty und isNotEmpty.

Die Eigenschaft isEmpty gibt true zurück, wenn die Liste keine Elemente hat, und false, wenn sie mindestens ein Element enthält. Die Eigenschaft isNotEmpty funktioniert genau umgekehrt – sie gibt true zurück, wenn die Liste Elemente enthält, und false, wenn sie leer ist.

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

Diese Eigenschaften sind besonders nützlich, um Fehler beim Zugriff auf Listenelemente zu vermeiden. Die Überprüfung, ob eine Liste leer ist, bevor Eigenschaften wie .first oder .last verwendet werden, hilft Ihnen dabei, sichereren und zuverlässigeren Code zu schreiben.

challenge icon

Aufgabe

Einfach

Erstellen Sie ein Programm, das ein Aufgabenwarteschlangensystem verwaltet, indem es prüft, ob Aufgabenlisten leer sind oder Elemente enthalten. Ihr Programm sollte:

  1. Einen String-Input einlesen, der den Namen der Warteschlange (queue name) darstellt
  2. Mehrere String-Inputs einlesen, die Aufgaben darstellen (die Eingabe endet, wenn Sie einen leeren String erhalten)
  3. Die Eigenschaft isEmpty verwenden, um zu prüfen, ob die Aufgabenliste leer ist
  4. Die Eigenschaft isNotEmpty verwenden, um zu prüfen, ob die Aufgabenliste Aufgaben enthält
  5. Den Status der Warteschlange im unten gezeigten exakten Format ausgeben

Wenn zum Beispiel der Name der Warteschlange "Daily Tasks" ist und die Aufgaben "Review emails", "Attend meeting", "Write report" sind, sollte Ihr Programm Folgendes ausgeben:

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

Wenn der Name der Warteschlange "Weekend Tasks" ist und keine Aufgaben angegeben werden (leere Eingabe), sollte Ihr Programm Folgendes ausgeben:

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

Ihr Programm muss sowohl die Eigenschaften isEmpty als auch isNotEmpty verwenden, um den Status der Warteschlange zu bestimmen. Die Statusmeldung sollte "Ready for processing" lauten, wenn Aufgaben vorhanden sind, und "No tasks to process", wenn die Warteschlange leer ist.

Spickzettel

Verwenden Sie die Eigenschaften isEmpty und isNotEmpty, um zu prüfen, ob eine Liste Elemente enthält:

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

Diese Eigenschaften helfen dabei, Fehler beim Zugriff auf Listenelemente zu vermeiden und machen den Code sicherer und zuverlässiger.

Probier es selbst

import 'dart:io';

void main() {
  // Warteschlangennamen lesen
  String? queueName = stdin.readLineSync();
  
  // Aufgaben lesen, bis eine leere Zeichenfolge empfangen wird
  List<String> tasks = [];
  String? task;
  while ((task = stdin.readLineSync()) != null && task!.isNotEmpty) {
    tasks.add(task);
  }
  
  // TODO: Schreiben Sie Ihren Code unten
  // Verwenden Sie die Eigenschaften tasks.isEmpty und tasks.isNotEmpty, um den Status der Warteschlange zu prüfen
  // Bestimmen Sie die entsprechende Statusmeldung basierend darauf, ob Aufgaben vorhanden sind
  
  // Ergebnisse ausgeben
  print('Queue: $queueName');
  // Hat Aufgaben, ist leer, Aufgabenanzahl und Status ausgeben
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf