Sobes.tech
Junior

Кога трябва да използвате Set вместо Array?

sobes.tech AI

Отговор от AI

Set трябва да се използва в следните случаи:

  • Необходимост от съхраняване само на уникални елементи. Set автоматично гарантира, че всеки елемент присъства в колекцията не повече от веднъж.
  • Висока производителност при проверка за наличие на елемент. Операцията contains(_:) в Set има амортизирана сложност O(1) средно, докато в Array е O(n).
  • Редът на елементите не е важен. За разлика от Array, Set не гарантира определен ред при изброяване на своите елементи.
  • Чести операции по добавяне, изтриване и проверка за наличие. Тези операции в Set обикновено са по-ефективни от тези в Array за големи колекции, ако редът не е важен и е необходима уникалност.

Примерен код, показващ разликата при търсене:

// Array
let array = [1, 2, 3, 4, 5]
let element = 5

// Търсене в Array - линейно търсене (O(n))
let isPresentInArray = array.contains(element)

// Set
let set: Set = [1, 2, 3, 4, 5]
// Търсене в Set - хеширане (средно O(1))
let isPresentInSet = set.contains(element)