리스트 상태: isEmpty 및 isNotEmpty
Coddy Dart 여정의 로직 & 흐름 섹션에 포함된 레슨 — 65개 중 2번째.
리스트 요소를 작업하기 전에, 리스트에 실제로 항목이 포함되어 있는지 확인하는 것이 필수적입니다. Dart는 리스트의 상태를 확인하기 위한 두 가지 간단한 속성을 제공합니다: isEmpty 및 isNotEmpty.
isEmpty 속성은 리스트에 요소가 없으면 true를 반환하고, 요소가 하나 이상 포함되어 있으면 false를 반환합니다. isNotEmpty 속성은 반대로 작동합니다. 리스트에 요소가 있으면 true를 반환하고, 비어 있으면 false를 반환합니다.
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이 속성들은 리스트 요소에 접근하려고 할 때 오류를 방지하는 데 특히 유용합니다. .first 또는 .last와 같은 속성을 사용하기 전에 리스트가 비어 있는지 확인하는 것은 더 안전하고 신뢰할 수 있는 코드를 작성하는 데 도움이 됩니다.
챌린지
쉬움작업 목록이 비어 있는지 또는 항목이 포함되어 있는지 확인하여 작업 대기열 시스템을 관리하는 프로그램을 작성하세요. 프로그램은 다음을 수행해야 합니다:
- 대기열 이름을 나타내는 문자열 입력을 읽습니다.
- 작업을 나타내는 여러 문자열 입력을 읽습니다 (빈 문자열이 입력되면 입력이 종료됩니다).
isEmpty속성을 사용하여 작업 목록이 비어 있는지 확인합니다.isNotEmpty속성을 사용하여 작업 목록에 작업이 포함되어 있는지 확인합니다.- 아래에 표시된 정확한 형식으로 대기열 상태를 출력합니다.
예를 들어, 대기열 이름이 "Daily Tasks"이고 작업이 "Review emails", "Attend meeting", "Write report"인 경우, 프로그램은 다음과 같이 출력해야 합니다:
Queue: Daily Tasks
Has tasks: true
Is empty: false
Task count: 3
Status: Ready for processing대기열 이름이 "Weekend Tasks"이고 제공된 작업이 없는 경우 (빈 입력), 프로그램은 다음과 같이 출력해야 합니다:
Queue: Weekend Tasks
Has tasks: false
Is empty: true
Task count: 0
Status: No tasks to process프로그램은 대기열 상태를 확인하기 위해 isEmpty와 isNotEmpty 속성을 모두 사용해야 합니다. 상태 메시지는 작업이 존재할 때 "Ready for processing"이어야 하며, 대기열이 비어 있을 때 "No tasks to process"여야 합니다.
치트 시트
isEmpty 및 isNotEmpty 속성을 사용하여 리스트에 요소가 포함되어 있는지 확인합니다:
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이러한 속성들은 리스트 요소에 접근할 때 발생할 수 있는 오류를 방지하고 코드를 더 안전하고 신뢰할 수 있게 만드는 데 도움이 됩니다.
직접 해보기
import 'dart:io';
void main() {
// 큐 이름 읽기
String? queueName = stdin.readLineSync();
// 빈 문자열이 수신될 때까지 작업 읽기
List<String> tasks = [];
String? task;
while ((task = stdin.readLineSync()) != null && task!.isNotEmpty) {
tasks.add(task);
}
// TODO: 아래에 코드를 작성하세요
// tasks.isEmpty 및 tasks.isNotEmpty 속성을 사용하여 큐 상태를 확인하세요
// 작업 존재 여부에 따라 적절한 상태 메시지를 결정하세요
// 결과 출력
print('Queue: $queueName');
// 작업 보유 여부, 비어 있음 여부, 작업 수 및 상태를 출력하세요
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
로직 & 흐름의 모든 레슨
1고급 리스트 조작
리스트 속성: first 및 last리스트 상태: isEmpty 및 isNotEmpty리스트 뒤집기리스트에 추가: insert리스트 요소 제거: removeWhere리스트에서 찾기: indexOf리스트 정렬리스트 섞기요약 - 리스트 정리 도구