Junior
¿Puedes explicar las diferencias entre List, Set y Map, y en qué casos deberías usarlos?
sobes.tech AI
Respuesta de la IA
List - una colección ordenada que permite duplicados. Los elementos son accesibles por índice.
Set - una colección no ordenada de elementos únicos. No permite duplicados.
Map - una colección de pares "clave-valor", donde cada clave es única. Los elementos son accesibles por clave.
Tabla de comparación:
| Característica | List | Set | Map |
|---|---|---|---|
| Ordenamiento | Sí | No | En orden de inserción (no siempre) |
| Duplicados | Permite | No permite | Las claves son únicas, los valores pueden duplicarse |
| Acceso | Por índice | Iteración | Por clave |
- Uso:
List: Cuando el orden de los elementos es importante y pueden haber duplicados (por ejemplo, lista de compras, historial de transacciones).Set: Cuando se necesita una colección de elementos únicos y el orden no importa (por ejemplo, conjunto de usuarios únicos, lista de etiquetas únicas).Map: Cuando se necesita almacenar datos en pares "clave-valor" y acceder rápidamente a un valor por clave (por ejemplo, diccionario, configuraciones de la aplicación).
Ejemplo:
// List
val shoppingList = listOf("manzana", "banana", "manzana")
println(shoppingList[0]) // manzana
// Set
val uniqueFruits = setOf("manzana", "banana", "manzana")
println(uniqueFruits.size) // 2 (manzana aparece solo una vez)
// Map
val userAges = mapOf("Alicia" to 30, "Roberto" to 25)
println(userAges["Alicia"]) // 30