Propriétés de liste : first & last
Fait partie de la section Logique & Flux du Journey Dart de Coddy — leçon 1 sur 65.
Lorsque vous travaillez avec des listes, vous avez souvent besoin d'accéder au premier ou au dernier élément. Au lieu d'utiliser des numéros d'index comme [0] ou [list.length - 1], Dart propose deux propriétés pratiques qui rendent cela beaucoup plus simple.
La propriété .first vous donne le premier élément d'une liste, tandis que la propriété .last vous donne le dernier élément. Ces propriétés sont plus lisibles et moins sujettes aux erreurs que le calcul des positions d'index.
List<String> planets = ['Mercury', 'Venus', 'Earth', 'Mars'];
String firstPlanet = planets.first; // 'Mercury'
String lastPlanet = planets.last; // 'Mars'Ces propriétés fonctionnent avec n'importe quelle liste non vide et gèrent automatiquement les calculs d'index pour vous. Cela rend votre code plus propre et plus facile à comprendre lorsque vous devez travailler avec les éléments au début ou à la fin de vos listes.
Défi
FacileCréez un programme qui analyse une liste de lecture musicale en accédant à la première et à la dernière chanson. Votre programme doit :
- Lire une chaîne de caractères en entrée représentant le nom de la liste de lecture
- Lire plusieurs chaînes de caractères en entrée représentant les titres des chansons (la saisie s'arrêtera lorsque vous recevrez une chaîne vide)
- Utiliser la propriété
.firstpour obtenir la première chanson de la liste de lecture - Utiliser la propriété
.lastpour obtenir la dernière chanson de la liste de lecture - Afficher l'analyse de la liste de lecture dans le format exact indiqué ci-dessous
Par exemple, si le nom de la liste de lecture est "My Favorites" et que les chansons sont "Bohemian Rhapsody", "Imagine", "Hotel California", votre programme doit afficher :
Playlist: My Favorites
Total songs: 3
Opening track: Bohemian Rhapsody
Closing track: Hotel CaliforniaVotre programme doit gérer des listes de lecture contenant n'importe quel nombre de chansons et utiliser les propriétés .first et .last pour accéder aux pistes d'ouverture et de clôture.
Aide-mémoire
Utilisez les propriétés .first et .last pour accéder au premier et au dernier élément d'une liste :
List<String> planets = ['Mercury', 'Venus', 'Earth', 'Mars'];
String firstPlanet = planets.first; // 'Mercury'
String lastPlanet = planets.last; // 'Mars'Ces propriétés sont plus lisibles que l'utilisation de numéros d'index comme [0] ou [list.length - 1] et fonctionnent avec n'importe quelle liste non vide.
Essayez vous-même
import 'dart:io';
void main() {
// Lire le nom de la liste de lecture
String? playlistName = stdin.readLineSync();
// Lire les chansons jusqu'à une chaîne vide
List<String> songs = [];
String? song;
while ((song = stdin.readLineSync()) != null && song!.isNotEmpty) {
songs.add(song);
}
// TODO: Écrivez votre code ci-dessous
// Utilisez songs.first et songs.last pour obtenir les pistes d'ouverture et de fermeture
// Afficher l'analyse de la liste de lecture
print("Playlist: $playlistName");
print("Total songs: ${songs.length}");
// Imprimer les pistes d'ouverture et de fermeture ici
}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
1Manipulation avancée des listes
Propriétés de liste : first & lastÉtat de la liste : isEmpty & isNotEmptyInverser une listeAjouter à une liste : insertSuppression dans une liste : removeWhereRechercher dans une liste : indexOfTrier une listeMélanger une listeRécapitulatif - Organisateur de liste4Manipulation avancée des Maps
Itérer sur une MapVérifier les clés et les valeursPropriétés de Map : keys & valuesAjout conditionnel : putIfAbsentSupprimer des entrées d'une MapMaps imbriquéesRécapitulatif - Mise à jour de l'inventaire2Opérations fonctionnelles sur les listes
Transformer avec 'map'Filtrer avec 'where'Utiliser '.toList()'Vérifier des conditions avec 'any'Conditions avec 'every'Trouver avec 'firstWhere'Récapitulatif - Filtrage de données3Les Ensembles
Qu'est-ce qu'un ensemble ?Créer un ensembleAjouter et supprimer des éléments d'un ensembleVérifier la présence d'éléments dans un ensembleConvertir une liste en ensembleUnion d'ensemblesIntersection d'ensemblesDifférence d'ensemblesRécapitulatif - Liste d'invités uniques