Menu
Coddy logo textTech

État de la liste : isEmpty & isNotEmpty

Fait partie de la section Logique & Flux du Journey Dart de Coddy — leçon 2 sur 65.

Avant de travailler avec les éléments d'une liste, il est essentiel de savoir si votre liste contient réellement des éléments. Dart fournit deux propriétés simples pour vérifier l'état d'une liste : isEmpty et isNotEmpty.

La propriété isEmpty renvoie true si la liste ne contient aucun élément, et false si elle contient au moins un élément. La propriété isNotEmpty fonctionne de la manière opposée - elle renvoie true lorsque la liste contient des éléments et false lorsqu'elle est vide.

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

print(emptyCart.isEmpty);      // vrai
print(emptyCart.isNotEmpty);   // faux

print(shoppingCart.isEmpty);   // faux
print(shoppingCart.isNotEmpty); // vrai

Ces propriétés sont particulièrement utiles pour éviter les erreurs lors de la tentative d'accès aux éléments d'une liste. Vérifier si une liste est vide avant d'utiliser des propriétés comme .first ou .last vous aide à écrire un code plus sûr et plus fiable.

challenge icon

Défi

Facile

Créez un programme qui gère un système de file d'attente de tâches en vérifiant si les listes de tâches sont vides ou contiennent des éléments. Votre programme doit :

  1. Lire une chaîne de caractères en entrée représentant le nom de la file d'attente (queue name)
  2. Lire plusieurs chaînes de caractères en entrée représentant les tâches (la saisie se terminera lorsque vous recevrez une chaîne vide)
  3. Utiliser la propriété isEmpty pour vérifier si la liste de tâches est vide
  4. Utiliser la propriété isNotEmpty pour vérifier si la liste de tâches contient des tâches
  5. Afficher l'état de la file d'attente dans le format exact indiqué ci-dessous

Par exemple, si le nom de la file d'attente est "Daily Tasks" et que les tâches sont "Review emails", "Attend meeting", "Write report", votre programme doit afficher :

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

Si le nom de la file d'attente est "Weekend Tasks" et qu'aucune tâche n'est fournie (entrée vide), votre programme doit afficher :

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

Votre programme doit utiliser les deux propriétés isEmpty et isNotEmpty pour déterminer l'état de la file d'attente. Le message d'état doit être "Ready for processing" lorsque des tâches existent et "No tasks to process" lorsque la file d'attente est vide.

Aide-mémoire

Utilisez les propriétés isEmpty et isNotEmpty pour vérifier si une liste contient des éléments :

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

Ces propriétés aident à prévenir les erreurs lors de l'accès aux éléments de la liste et rendent le code plus sûr et plus fiable.

Essayez vous-même

import 'dart:io';

void main() {
  // Lire le nom de la file d'attente
  String? queueName = stdin.readLineSync();
  
  // Lire les tâches jusqu'à ce qu'une chaîne vide soit reçue
  List<String> tasks = [];
  String? task;
  while ((task = stdin.readLineSync()) != null && task!.isNotEmpty) {
    tasks.add(task);
  }
  
  // TODO: Écrivez votre code ci-dessous
  // Utilisez les propriétés tasks.isEmpty et tasks.isNotEmpty pour vérifier l'état de la file d'attente
  // Déterminez le message d'état approprié selon que des tâches existent ou non
  
  // Afficher les résultats
  print('Queue: $queueName');
  // Afficher s'il y a des tâches, si c'est vide, le nombre de tâches et l'état
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique & Flux