Dart Academy · Leçon

Collections génériques en pratique

Typer List, Map et vos conteneurs personnalisés

Leçon 4 sur 413 étapes

Collections génériques en pratique est une leçon Dart Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Dart Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Dart Academy comprend 4 leçons au total.

Les collections sont génériques

Les collections courantes de Dart sont toutes génériques. List, Set et Map acceptent chacune des paramètres de type qui déterminent ce qu’elles contiennent. 📦

Typage d’une List

Une List accepte un paramètre de type pour ses éléments. Déclarer List de String signifie que chaque élément doit être un String.

List<String> names = ['Ada', 'Linus'];

Typage d’un Set

Un Set fonctionne de la même manière et conserve des éléments uniques. Set de int contient des nombres entiers sans doublons.

Set<int> ids = {1, 2, 2, 3};

Typage d’un Map

Un Map accepte deux paramètres de type : l’un pour les clés et l’autre pour les valeurs. L’ordre compte : le type des clés est indiqué en premier.

Map<String, int> ages = {'Ada': 36};

Déduction à partir des littéraux

Lorsque vous écrivez un littéral, Dart déduit souvent le type à partir de son contenu. Une liste de nombres devient automatiquement une List de int.

var scores = [90, 85, 100];

Annotez les littéraux vides

Un littéral vide ne fournit aucune information à déduire ; vous devez donc ajouter vous-même le type. Sinon, Dart risque de choisir un type que vous ne vouliez pas.

var queue = <String>[];

Les types d’éléments se propagent

Une fois le type défini, les méthodes renvoient le bon type d’élément. Lire une List de String vous donne un String, directement prêt à l’emploi.

List<String> names = ['Ada'];
String first = names.first;

Imbrication des génériques

Les paramètres de type peuvent être imbriqués aussi profondément que nécessaire. Un Map de String vers une List de int est parfaitement valide et entièrement vérifié.

Map<String, List<int>> grades = {
  'Ada': [90, 85]
};

Les génériques rencontrent les transformations

Les méthodes comme map transportent les types tout au long d’un pipeline. Transformer des int en leurs chaînes de caractères produit un Iterable de String.

var labels = [1, 2].map((n) => 'n=$n');

Conteneurs génériques personnalisés

Vos propres classes génériques s’intègrent elles aussi à cet univers. Un Stack de T peut stocker le type d’élément choisi par l’appelant.

class Stack<T> {
  final _items = <T>[];
  void push(T x) => _items.add(x);
}

La sécurité de bout en bout

De la déclaration à la transformation, puis au stockage, le type reste connu. C’est tout l’intérêt : réutilisation et vérification complète à chaque étape.

Vérification rapide

Combien de paramètres de type un Map accepte-t-il ?

Récapitulatif

Vous avez typé List, Set et Map, utilisé la déduction, annoté les littéraux vides et imbriqué des génériques. Les types se propagent de manière sûre à travers chaque transformation. ✅

Gratuit pour commencer

Apprends Dart avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
30
Leçons
120

Questions Fréquemment Posées

La leçon « Collections génériques en pratique » est-elle gratuite ?

Oui — le texte complet de « Collections génériques en pratique » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Dart Academy, passe à CoddyKit PRO. Le cours Dart Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Collections génériques en pratique » ?

Typer List, Map et vos conteneurs personnalisés Tu pratiques Dart Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Dart Academy ?

Aucune expérience préalable n'est requise. Dart Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Collections génériques en pratique » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Dart Academy ?

Oui. Chaque leçon Dart Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Pourquoi les génériques surpassent dynamic
  2. Classes et méthodes génériques
  3. Paramètres de type bornés avec extends
  4. Collections génériques en pratique
← Retour à Dart Academy