Sobes.tech
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. Set garantit 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(_:) dans Set a une complexité amortie de O(1) en moyenne, alors que dans Array elle est de O(n).
  • L’ordre des éléments n’a pas d’importance. Contrairement à Array, Set ne 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 Set sont généralement plus efficaces que dans Array pour 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)