Sobes.tech
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