Sobes.tech
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 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