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 | Jā | Nē | 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