Junior
Quand doit-on utiliser Set au lieu de Array?
sobes.tech IA
Réponse de l'IA
Set doit être utilisé dans les cas suivants :
- Nécessité de stocker uniquement des éléments uniques.
Setgarantit automatiquement que chaque élément apparaît dans la collection au plus une fois. - Une haute performance lors de la vérification de la présence d’un élément. L’opération
contains(_:)dansSeta une complexité amortie de O(1) en moyenne, alors que dansArrayelle est de O(n). - L’ordre des éléments n’a pas d’importance. Contrairement à
Array,Setne garantit pas un ordre spécifique lors de l’énumération de ses éléments. - Des opérations fréquentes d’ajout, de suppression et de vérification de la présence sont nécessaires. Ces opérations dans
Setsont généralement plus efficaces que dansArraypour de grandes collections, si l’ordre n’a pas d’importance et si l’unicité est requise.
Exemple de code illustrant la différence de recherche :
// Array
let array = [1, 2, 3, 4, 5]
let element = 5
// Recherche dans Array - recherche linéaire (O(n))
let isPresentInArray = array.contains(element)
// Set
let set: Set = [1, 2, 3, 4, 5]
// Recherche dans Set - hachage (en moyenne O(1))
let isPresentInSet = set.contains(element)