Stato della lista: isEmpty e isNotEmp
Fa parte della sezione Logica e flusso del percorso Dart di Coddy. Lezione 2 di 65.
Prima di lavorare con gli elementi di una lista, è essenziale sapere se la lista contiene effettivamente degli elementi. Dart fornisce due semplici proprietà per controllare lo stato di una lista: isEmpty e isNotEmpty.
La proprietà isEmpty restituisce true se la lista non contiene elementi e false se contiene almeno un elemento. La proprietà isNotEmpty funziona al contrario: restituisce true quando la lista contiene elementi e false quando è vuota.
List<String> emptyCart = [];
List<String> shoppingCart = ['apples', 'bread', 'milk'];
print(emptyCart.isEmpty); // true
print(emptyCart.isNotEmpty); // false
print(shoppingCart.isEmpty); // false
print(shoppingCart.isNotEmpty); // trueQueste proprietà sono particolarmente utili per prevenire errori quando si tenta di accedere agli elementi di una lista. Controllare se una lista è vuota prima di usare proprietà come .first o .last ti aiuta a scrivere codice più sicuro e affidabile.
Sfida
FacileCrea un programma che gestisca un sistema di code di attività verificando se gli elenchi di attività sono vuoti o contengono elementi. Il tuo programma deve:
- Leggere una stringa in input che rappresenta il nome della coda
- Leggere più stringhe in input che rappresentano le attività (l’input terminerà quando riceverai una stringa vuota)
- Usare la proprietà
isEmptyper verificare se l’elenco di attività è vuoto - Usare la proprietà
isNotEmptyper verificare se l’elenco di attività contiene attività - Stampare lo stato della coda esattamente nel formato mostrato di seguito
Ad esempio, se il nome della coda è "Daily Tasks" e le attività sono "Review emails", "Attend meeting", "Write report", il programma dovrebbe produrre:
Queue: Daily Tasks
Has tasks: true
Is empty: false
Task count: 3
Status: Ready for processingSe il nome della coda è "Weekend Tasks" e non vengono fornite attività (input vuoto), il programma dovrebbe produrre:
Queue: Weekend Tasks
Has tasks: false
Is empty: true
Task count: 0
Status: No tasks to processIl programma deve usare entrambe le proprietà isEmpty e isNotEmpty per determinare lo stato della coda. Il messaggio di stato deve essere "Ready for processing" quando sono presenti attività e "No tasks to process" quando la coda è vuota.
Provalo tu
import 'dart:io';
void main() {
// Leggi il nome della coda
String? queueName = stdin.readLineSync();
// Leggi le attività finché non viene ricevuta una stringa vuota
List<String> tasks = [];
String? task;
while ((task = stdin.readLineSync()) != null && task!.isNotEmpty) {
tasks.add(task);
}
// TODO: Scrivi il tuo codice qui sotto
// Usa le proprietà tasks.isEmpty e tasks.isNotEmpty per verificare lo stato della coda
// Determina il messaggio di stato appropriato in base alla presenza di attività
// Mostra i risultati
print('Queue: $queueName');
// Stampa se ci sono attività, se la coda è vuota, il numero di attività e lo stato
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Manipolazione avanzata delle liste
Proprietà delle liste: primo e ultimoStato della lista: isEmpty e isNotEmpInvertire una listaAggiungere a una lista: insertRimozione dalla lista: removeWhereRicerca in una lista: indexOfOrdinare una listaMescolare una listaRiepilogo - Organizzatore di liste4Manipolazione avanzata delle mappe
Iterare su una mappaVerificare chiavi e valoriProprietà delle mappe: chiavi e valoriAggiunta condizionale: putIfAbsentRimuovere elementi da una mappaMappe annidateRiepilogo - Aggiornamento dell'inventario2Operazioni funzionali sulle liste
Trasformare con 'map'Filtrare con 'where'Usare '.toList()'Verificare condizioni con 'any'Condizioni con 'every'Trovare con 'firstWhere'Riepilogo - Filtraggio dei dati3Insiemi
Che cos'è un insieme?Creare un insiemeAggiungere e rimuovere elementi dagli insiemiVerificare la presenza di elementi in un insiemeConvertire una lista in un insiemeUnione di insiemiIntersezione di insiemiDifferenza tra insiemiRiepilogo - Lista degli ospiti uniciEsercitati da solo: Compilatore Dart online