Sobes.tech
Junior

El tudnád magyarázni a List, Set és Map közötti különbségeket, valamint hogy mely esetekben kell őket használni?

sobes.tech MI

Válasz az MI-től

List - rendezett kollekció, amely megenged duplikátumokat. Az elemek index alapján elérhetők.

Set - nem rendezett, egyedi elemekből álló kollekció. Nem enged duplikátumokat.

Map - "kulcs-érték" párok kollekciója, ahol minden kulcs egyedi. Az elemek kulcs alapján elérhetők.

Összehasonlító táblázat:

Jellemző List Set Map
Rendezés Igen Nem Hozzáadás sorrendje szerint (nem mindig)
Duplikátumok Engedélyezett Nem engedélyezett Kulcsok egyediek, értékek ismétlődhetnek
Hozzáférés Index szerint Iterációval Kulcs szerint
  • Használat:
    • List: Amikor a elemek sorrendje fontos, és duplikátumok megengedettek (pl. bevásárlólista, tranzakciós előzmény).
    • Set: Amikor egyedi elemek gyűjteményére van szükség, és nem számít a sorrend (pl. egyedi felhasználók halmaza, egyedi címkék listája).
    • Map: Amikor adatokat "kulcs-érték" párokban szeretnénk tárolni, és gyors hozzáférést a kulcs segítségével (pl. szótár, alkalmazás beállítások).

Példa:

// List
val shoppingList = listOf("alma", "banán", "alma")
println(shoppingList[0]) // alma

// Set
val uniqueFruits = setOf("alma", "banán", "alma")
println(uniqueFruits.size) // 2 (az alma csak egyszer szerepel)

// Map
val userAges = mapOf("Alicia" to 30, "Boris" to 25)
println(userAges["Alicia"]) // 30