Junior
Можеш ли објаснити разлике између List, Set и Map, као и у којим случајевима их треба користити?
sobes.tech АИ
Одговор од АИ
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