Sobes.tech
Junior

Vai vari izskaidrot atšķirības starp List, Set un Map un kad tos izmantot?

sobes.tech AI

Atbilde no AI

List - sakārtota kolekcija, kas atļauj dublikātus. Elementi ir pieejami pēc indeksa.

Set - nesakārtota unikālu elementu kolekcija. Neatļauj dublikātus.

Map - pāru "atslēga-vērtība" kolekcija, kur katra atslēga ir unikāla. Elementi ir pieejami pēc atslēgas.

Salīdzināšanas tabula:

Īpašība List Set Map
Sakārtotība Pēc pievienošanas secības (ne vienmēr)
Dublikāti Atļauti Neatļauti Atslēgas ir unikālas, vērtības var atkārtoties
Piekļuve Pa indeksu Caurskatot Pa atslēgu
  • Izmantošana:
    • List: Kad elementu secība ir svarīga un var būt dublikāti (piemēram, iepirkumu saraksts, darījumu vēsture).
    • Set: Kad nepieciešama kolekcija ar unikāliem elementiem un secība nav svarīga (piemēram, unikālo lietotāju kopums, unikālo tagu saraksts).
    • Map: Kad nepieciešams glabāt datus pāros "atslēga-vērtība" un ātri piekļūt vērtībai pēc atslēgas (piemēram, vārdnīca, lietotāja iestatījumi).

Piemērs:

// List
val shoppingList = listOf("ābols", "banāns", "ābols")
println(shoppingList[0]) // ābols

// Set
val uniqueFruits = setOf("ābols", "banāns", "ābols")
println(uniqueFruits.size) // 2 (ābols parādās tikai vienu reizi)

// Map
val userAges = mapOf("Alise" to 30, "Bobs" to 25)
println(userAges["Alise"]) // 30