Junior
Ar galite paaiškinti skirtumus tarp List, Set ir Map ir kada juos naudoti?
sobes.tech AI
Atsakymas iš AI
List - išdėstyta kolekcija, leidžianti dubliavimus. Elementai prieinami pagal indeksą.
Set - ne išdėstyta unikalių elementų kolekcija. Neleidžia dubliavimų.
Map - porų "raktas-reikšmė" kolekcija, kur kiekvienas raktas yra unikalus. Elementai prieinami pagal raktą.
Palyginimo lentelė:
| Savybė | List | Set | Map |
|---|---|---|---|
| Tvarkinga | Taip | Ne | Pagal pridėjimo tvarką (ne visada) |
| Dubliavimai | Leidžiami | Neleidžiami | Raktai unikalūs, reikšmės gali kartotis |
| Prieiga | Per indeksą | Per iteraciją | Per raktą |
- Naudojimas:
List: Kai svarbi elementų tvarka ir gali būti dubliavimų (pvz., pirkinių sąrašas, operacijų istorija).Set: Kai reikia unikalių elementų kolekcijos ir tvarka nėra svarbi (pvz., unikalių naudotojų rinkinys, unikalių žymių sąrašas).Map: Kai norite saugoti duomenis poromis "raktas-reikšmė" ir greitai gauti reikšmę pagal raktą (pvz., žodynas, programos nustatymai).
Pavyzdys:
// List
val shoppingList = listOf("obuolys", "bananas", "obuolys")
println(shoppingList[0]) // obuolys
// Set
val uniqueFruits = setOf("obuolys", "bananas", "obuolys")
println(uniqueFruits.size) // 2 (obuolys pasirodo tik kartą)
// Map
val userAges = mapOf("Alicija" to 30, "Boras" to 25)
println(userAges["Alicija"]) // 30