DEV Community

David Goyes
David Goyes

Posted on

Swift #20: Conjuntos (Set)

Un conjunto es una estructura de datos que almacena valores únicos de forma desordenada. Para crear un conjunto vacío se puede usar cualquiera de las siguientes notaciones:

let conjunto = Set<Type>()
let conjunto2: Set<Type> = []
let conjunto3: Set = [1, 2, 3, 4] // Infiere Set<Int>
Enter fullscreen mode Exit fullscreen mode

Conjunto como estructura

El tipo Set<T> ofrece algunos métodos y propiedades:

  • count
  • isEmpty
  • contains(_:): Retorna true si contiene al elemento pasado por parámetro.
  • contains(where:): Retorna true si al menos un elemento satisface la condición del closure.
  • min(): Retorna el valor más pequeño
  • max(): Retorna el valor más grande
  • sorted(): Retorna los elementos del conjunto en un arreglo ordenado de forma ascendente.
  • insert(_:): Inserta un elemento en un conjunto si no existe aún.
  • remove(_:): Remueve un valor del conjunto. Retorna el valor en caso de éxito, o nil en caso contrario.
  • union(_:): Retorna un conjunto con la unión entre el conjunto de partida y los valores de la colección de entrada.
  • subtract(_:): Sustrae los elementos del conjunto pasado por argumento, del conjunto sobre el que se ejecuta la operación.
  • intersection(_:): Retorna un conjunto con los valores de la intersección entre dos conjuntos.
  • isSubset(of:): Retorna true si el conjunto en cuestión es subconjunto del conjunto pasado por parámetro.
  • isSuperset(of:): Retorna true si el conjunto pasado por parámetro es subconjunto del conjunto en cuestión.
  • isDisjoint(with:): Retorna true si los dos conjuntos no comparten valores.
var frutas: Set = ["Manzana", "Pera", "Mango"]
if !frutas.contains("Papaya") {
  frutas.insert("Papaya") 
  // Esto no es necesario porque insert solo aplica si el elemento no existía
}
if let removed = frutas.remove("Mango") {
  print("Ya no hay \(removed)")
  // Ya no hay mango
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)