Junior
Мумкин аст шарҳи фарқиятҳои байни List, Set ва Map ва дар кадом ҳолатҳо бояд истифода бурда шаванд, диҳед?
sobes.tech AI
Ҷавоб аз AI
List - маҷмӯаи мураттаб, ки имкон медиҳад такроршавии унсурҳо. Унсурҳо ба воситаи индекс дастрас мешаванд.
Set - маҷмӯаи беорденг, ки унсурҳои беназирро дар бар мегирад. Такроршавиро иҷозат намедиҳад.
Map - маҷмӯаи ҷуфтҳои "калид-арзиш", ки дар он ҳар як калид беназир аст. Унсурҳо тавассути калид дастрас мешаванд.
Таблиғи муқоиса:
| Хусусият | List | Set | Map |
|---|---|---|---|
| Орденгӣ | Бале | Не | Дар тартиби илова (на ҳамеша) |
| Такроршавӣ | Иҷозат дода мешавад | Иҷозат намедиҳад | Калидҳо беназир, арзишҳо метавонанд такрор шаванд |
| Дастрасӣ | Ба воситаи индекс | Тавассути итеросия | Ба воситаи калид |
- Истифода:
List: Вақте ки тартиби унсурҳо муҳим аст ва такроршавиҳо мумкин аст (масалан, рӯйхати харид, таърихи транзаксия).Set: Вақте ки ба маҷмӯаи унсурҳои беназир ниёз доред ва тартиб муҳим нест (масалан, маҷмӯаи корбарони беназир, рӯйхати теги беназир).Map: Вақте ки мехоҳед маълумотро дар шакли ҷуфтҳои "калид-арзиш" нигоҳ доред ва ба арзиш тавассути калид зуд дастрасӣ кунед (масалан, луғот, танзимоти барнома).
Масалан:
// List
val shoppingList = listOf("ҷомла", "банан", "ҷомла")
println(shoppingList[0]) // ҷомла
// Set
val uniqueFruits = setOf("ҷомла", "банан", "ҷомла")
println(uniqueFruits.size) // 2 (ҷомла танҳо як бор аст)
// Map
val userAges = mapOf("Алиса" to 30, "Боб" to 25)
println(userAges["Алиса"]) // 30