Sobes.tech
Junior

Quando usare Set invece di Array?

sobes.tech AI

Risposta dell'AI

Set dovrebbe essere usato nei seguenti casi:

  • Necessità di memorizzare solo elementi unici. Set garantisce automaticamente che ogni elemento sia presente nella collezione al massimo una volta.
  • Elevata efficienza nel verificare la presenza di un elemento. L’operazione contains(_:) in Set ha una complessità ammortizzata di O(1) in media, mentre in Array è O(n).
  • L’ordine degli elementi non è importante. A differenza di Array, Set non garantisce un ordine specifico durante l’enumerazione dei suoi elementi.
  • Sono necessarie operazioni frequenti di aggiunta, rimozione e verifica della presenza. Queste operazioni in Set sono generalmente più efficienti rispetto a Array per grandi collezioni, se l’ordine non è importante e si richiede unicità.

Esempio di codice che mostra la differenza nella ricerca:

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

// Ricerca in Array - ricerca lineare (O(n))
let isPresentInArray = array.contains(element)

// Set
let set: Set = [1, 2, 3, 4, 5]
// Ricerca in Set - hashing (in media O(1))
let isPresentInSet = set.contains(element)