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