Junior
Când ar trebui să folosiți Set în loc de Array?
sobes.tech AI
Răspuns de la AI
Set trebuie utilizat în următoarele cazuri:
- Necesitatea de a stoca doar elemente unice.
Setasigură automat că fiecare element apare în colecție nu mai mult de o dată. - Performanță ridicată la verificarea existenței unui element. Operația
contains(_:)înSetare o complexitate amortizată de O(1) în medie, în timp ce înArrayeste O(n). - Ordinea elementelor nu contează. Spre deosebire de
Array,Setnu garantează o anumită ordine de enumerare a elementelor sale. - Se necesită operații frecvente de adăugare, ștergere și verificare a existenței. Aceste operații în
Setsunt de obicei mai eficiente decât înArraypentru colecții mari, dacă ordinea nu este importantă și se cere unicitate.
Exemplu de cod care evidențiază diferența în căutare:
// Array
let array = [1, 2, 3, 4, 5]
let element = 5
// Căutare în Array - căutare liniară (O(n))
let isPresentInArray = array.contains(element)
// Set
let set: Set = [1, 2, 3, 4, 5]
// Căutare în Set - hashing (în medie O(1))
let isPresentInSet = set.contains(element)