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