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ğruBu ö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.
Görev
KolayGö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:
- Kuyruk adını temsil eden bir dize (string) girdisi okuyun
- Görevleri temsil eden birden fazla dize girdisi okuyun (boş bir dize aldığınızda girdi sona erecektir)
- Görev listesinin boş olup olmadığını kontrol etmek için
isEmptyözelliğini kullanın - Görev listesinin görev içerip içermediğini kontrol etmek için
isNotEmptyözelliğini kullanın - 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 processingEğ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 processProgramı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); // trueBu ö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
}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
1İleri Düzey Liste İşlemleri
Liste Özellikleri: first & lastListe Durumu: isEmpty & isNotEmptyBir Listeyi Tersine ÇevirmeListeye Ekleme: insertListeden Silme: removeWhereListede Bulma: indexOfBir Listeyi SıralamaBir Listeyi KarıştırmaÖzet - Liste Düzenleyici4İleri Seviye Map İşlemleri
Map Üzerinde GezinmeAnahtar ve Değer KontrolüMap Özellikleri: keys & valuesKoşullu Ekleme: putIfAbsentMap'ten Öge Kaldırmaİç İçe Map'lerÖzet - Envanter Güncelleme7İleri Seviye Fonksiyonlar
Anonim FonksiyonlarFonksiyonları Argüman Olarak AktarmaClosure'ları AnlamakÖzyinelemeye GirişÖzyinelemeli Fonksiyon: Geri SayımÖzyinelemeli Fonksiyon: FaktöriyelÖzet - Liste İşleyici10Son Meydan Okumalar
Meydan Okuma: Not SıralayıcıMeydan Okuma: Sesli Harf SayacıMeydan Okuma: FizzBuzz2Fonksiyonel Liste İşlemleri
'map' ile Dönüştürme'where' ile Filtreleme'.toList()' Kullanımı'any' ile Koşul Kontrolü'every' ile Koşullar'firstWhere' ile BulmaÖzet - Veri Filtreleme5Proje: Alışveriş Sepeti Hesaplayıcı
Proje KurulumuSepete Ürün Ekleme3Kümeler
Küme Nedir?Küme OluşturmaKümelere Eleman Ekleme ve ÇıkarmaKüme İçinde Eleman KontrolüListeyi Kümeye DönüştürmeKüme BirleşimiKüme KesişimiKüme FarkıÖzet - Benzersiz Davetli Listesi