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