Swift - Sets
Swift 4 sets são usados para armazenar valores distintos dos mesmos tipos, mas eles não têm uma ordem definida como os arrays.
Você pode usar conjuntos em vez de arrays se a ordem dos elementos não for um problema ou se quiser garantir que não haja valores duplicados. (conjuntos permitem apenas valores distintos.)
Um tipo deve ser hashble para ser armazenado em um conjunto. Um valor hash é um valor Int que é igual para objetos iguais. Por exemplo, se x == y, entãox.hashvalue == y.hashvalue.
Todos os valores básicos de swift são do tipo hashable por padrão e podem ser usados como valores configurados.
Criação de conjuntos
Você pode criar um conjunto vazio de um certo tipo usando a seguinte sintaxe de inicializador -
var someSet = Set<Character>() //Character can be replaced by data type of set.
Acessando e modificando conjuntos
Você pode acessar ou modificar um conjunto usando seus métodos e propriedades -
O método "contagem" pode ser usado para mostrar o número de elementos no conjunto.
someSet.count // prints the number of elements
O método "inserir" pode ser usado para inserir valores no conjunto.
someSet.insert("c") // adds the element to Set.
Da mesma forma, isEmpty pode ser usado para verificar se o conjunto está vazio.
someSet.isEmpty // returns true or false depending on the set Elements.
O método "remove" pode ser usado para remover o valor no conjunto.
someSet.remove("c") // removes a element , removeAll() can be used to remove all elements
O método "contém" pode ser usado para verificar a existência de valor em um conjunto.
someSet.contains("c") // to check if set contains this value.
Iterando sobre um conjunto
Você pode iterar em um conjunto usando loop 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)
}
Execução de operações de conjunto
Você pode realizar operações de conjunto básicas em conjuntos rápidos.
A seguir estão os métodos para realizar operações definidas -
- 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]