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.
Setgarantisce automaticamente che ogni elemento sia presente nella collezione al massimo una volta. - Elevata efficienza nel verificare la presenza di un elemento. L’operazione
contains(_:)inSetha una complessità ammortizzata di O(1) in media, mentre inArrayè O(n). - L’ordine degli elementi non è importante. A differenza di
Array,Setnon garantisce un ordine specifico durante l’enumerazione dei suoi elementi. - Sono necessarie operazioni frequenti di aggiunta, rimozione e verifica della presenza. Queste operazioni in
Setsono generalmente più efficienti rispetto aArrayper 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)