Junior
Kas saaks selgitada erinevusi List, Set ja Map vahel ning millal neid kasutada?
sobes.tech AI
Vastus AI-lt
List - järjestikune kogumik, mis lubab duplikaate. Elemente pääseb ligi indeksi kaudu.
Set - mittejärjestikune unikaalsete elementide kogumik. Ei luba duplikaate.
Map - paaride "võti-väärtus" kogumik, kus iga võti on unikaalne. Elementidele pääseb ligi võtme kaudu.
Tabel võrdluseks:
| Omadus | List | Set | Map |
|---|---|---|---|
| Järjestus | Jah | Ei | Järgnevalt lisamise järjekorras (mitte alati) |
| Duplikaadid | Lubatud | Ei luba | Võtmed on unikaalsed, väärtused võivad duplitseerida |
| Juurdepääs | Indeksi kaudu | Iteratsiooni kaudu | Võtme kaudu |
- Kasutus:
List: Kui oluline on elementide järjekord ja võivad olla duplikaadid (näiteks ostunimekiri, tehingu ajalugu).Set: Kui vaja on unikaalsete elementide kogumit ja järjekord ei ole oluline (näiteks unikaalsete kasutajate kogum, unikaalsete siltide nimekiri).Map: Kui vaja on salvestada andmeid paaridena "võti-väärtus" ja kiiresti saada väärtus võtmest (näiteks sõnastik, rakenduse seaded).
Näide:
// List
val shoppingList = listOf("õun", "banaan", "õun")
println(shoppingList[0]) // õun
// Set
val uniqueFruits = setOf("õun", "banaan", "õun")
println(uniqueFruits.size) // 2 (õun on ainult üks kord)
// Map
val userAges = mapOf("Alice" to 30, "Bob" to 25)
println(userAges["Alice"]) // 30