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