Colecciones genéricas en la práctica
Tipar List, Map y contenedores personalizados.
Colecciones genéricas en la práctica es una lección gratuita de Dart Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Dart Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Dart Academy incluye 4 lecciones en total.
Las colecciones son genéricas
Todas las colecciones de uso habitual de Dart son genéricas. List, Set y Map aceptan parámetros de tipo que determinan qué pueden contener. 📦
Especificar el tipo de una List
Una List acepta un parámetro de tipo para sus elementos. Declarar List of String significa que cada elemento debe ser un String.
List<String> names = ['Ada', 'Linus'];Especificar el tipo de un Set
Un Set funciona de la misma manera y mantiene los elementos únicos. Set of int contiene números enteros sin duplicados.
Set<int> ids = {1, 2, 2, 3};Especificar el tipo de un Map
Un Map acepta dos parámetros de tipo: uno para las claves y otro para los valores. El orden importa: el tipo de clave aparece primero.
Map<String, int> ages = {'Ada': 36};Inferencia a partir de literales
Al escribir un literal, Dart suele inferir el tipo a partir de su contenido. Una lista de números se convierte automáticamente en List of int.
var scores = [90, 85, 100];Anote los literales vacíos
Un literal vacío no contiene nada de lo que inferir el tipo, así que añada el tipo usted mismo. De lo contrario, Dart podría deducir un tipo que no desea.
var queue = <String>[];Los tipos de elementos se propagan
Una vez especificado el tipo, los métodos devuelven el tipo de elemento correcto. Leer de una List of String devuelve un String listo para usar directamente.
List<String> names = ['Ada'];
String first = names.first;Anidar genéricos
Los parámetros de tipo pueden anidarse tanto como necesite. Un Map de String a List of int es perfectamente válido y se comprueba por completo.
Map<String, List<int>> grades = {
'Ada': [90, 85]
};Los genéricos se combinan con transformaciones
Métodos como map transportan los tipos a través de una cadena de operaciones. Convertir int en sus representaciones de texto produce un Iterable of String.
var labels = [1, 2].map((n) => 'n=$n');Contenedores genéricos personalizados
Sus propias clases genéricas también se integran en este sistema. Un Stack of T puede almacenar cualquier tipo de elemento que elija quien lo utilice.
class Stack<T> {
final _items = <T>[];
void push(T x) => _items.add(x);
}Seguridad de principio a fin
Desde la declaración hasta la transformación y el almacenamiento, el tipo sigue siendo conocido. Esa es la ventaja: reutilización y comprobación completa en todo el proceso.
Comprobación rápida
¿Cuántos parámetros de tipo acepta un Map?
Resumen
Ha especificado los tipos de List, Set y Map, se ha apoyado en la inferencia, ha anotado literales vacíos y ha anidado genéricos. Los tipos se propagan de forma segura por cada transformación. ✅
Aprende Dart con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «Colecciones genéricas en la práctica» es gratis?
Sí — el texto completo de «Colecciones genéricas en la práctica» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Dart Academy, actualiza a CoddyKit PRO. El curso de Dart Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Colecciones genéricas en la práctica»?
Tipar List, Map y contenedores personalizados. Practicas Dart Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Dart Academy?
No se requiere experiencia previa. Dart Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Colecciones genéricas en la práctica»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Dart Academy?
Sí. Cada lección de Dart Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Por qué los genéricos superan a dynamic
- Clases y métodos genéricos
- Parámetros de tipo acotados con extends
- Colecciones genéricas en la práctica