Swift - Conjuntos

Rápido 4 sets se utilizan para almacenar valores distintos de los mismos tipos pero no tienen un orden definido como lo tienen las matrices.

Puede usar conjuntos en lugar de matrices si el orden de los elementos no es un problema o si desea asegurarse de que no haya valores duplicados. (los conjuntos solo permiten valores distintos).

Un tipo debe ser hash para ser almacenado en un conjunto. Un valor hash es un valor Int que es igual para objetos iguales. Por ejemplo, si x == y, entoncesx.hashvalue == y.hashvalue.

Todos los valores rápidos básicos son de tipo hash de forma predeterminada y se pueden usar como valores establecidos.

Creando Conjuntos

Puede crear un conjunto vacío de un determinado tipo utilizando la siguiente sintaxis de inicializador:

var someSet = Set<Character>()     //Character can be replaced by data type of set.

Acceder y modificar conjuntos

Puede acceder o modificar un conjunto utilizando sus métodos y propiedades:

El método "count" se puede utilizar para mostrar el número de elementos del conjunto.

someSet.count        // prints the number of elements

El método "insertar" se puede utilizar para insertar valores en el conjunto.

someSet.insert("c")   // adds the element to Set.

De manera similar, isEmpty se puede usar para verificar si el conjunto está vacío.

someSet.isEmpty       // returns true or false depending on the set Elements.

El método "eliminar" se puede utilizar para eliminar el valor del conjunto.

someSet.remove("c")     // removes a element , removeAll() can be used to remove all elements

El método "contiene" se puede utilizar para comprobar la existencia de valor en un conjunto.

someSet.contains("c")     // to check if set contains this value.

Iterando sobre un conjunto

Puede iterar sobre un conjunto usando el bucle for-in -

for items in someSet {
   print(someSet)
}

//Swift sets are not in an ordered way, to iterate over a set in ordered way use

for items in someSet.sorted() {
   print(someSet)
}

Realización de operaciones de set

Puede realizar operaciones básicas de conjuntos en conjuntos rápidos.

Los siguientes son los métodos para realizar operaciones de conjuntos:

  • Intersection
  • Union
  • subtracting
let evens: Set = [10,12,14,16,18]
let odds: Set = [5,7,9,11,13]
let primes = [2,3,5,7]
odds.union(evens).sorted()
// [5,7,9,10,11,12,13,14,16,18]
odds.intersection(evens).sorted()
//[]
odds.subtracting(primes).sorted()
//[9, 11, 13]