Skip to content

Instantly share code, notes, and snippets.

@kadiralev1
Created March 5, 2019 14:49
Show Gist options
  • Save kadiralev1/05a6611b4787d5e7bf792b6db408f567 to your computer and use it in GitHub Desktop.
Save kadiralev1/05a6611b4787d5e7bf792b6db408f567 to your computer and use it in GitHub Desktop.
// Sets oluşturma syntax'ı
var letters = Set<Character>()
print(letters.count) // çıktı -> 0 çünkü şu anda character ' den oluşan boş bir set tanımladık.
letters.insert("a") // a karakterini set ' in içine attık
print(letters) // çıktı -> ["a"]
// set' imizi array literal ile oluşturursak
var favoriMuzikTuru : Set<String> = ["Rock","Classical","Hip-hop","Natural"]
// NOT : set bir değişkene atandı. Bu yüzden ilerde ekleme çıkarma yapılabilir.
// NOT : Eğer initialize aşamasında içine değer atanıyorsa tipinin yazılmasına gerek yoktur.
var favoriMuzikTuruTipBelirtmeden : Set = ["Rock","Classical"] // TYPE INFERRED -- İçine atılan değerlerden dolayı set'in tipini kendi buldu.
favoriMuzikTuru.insert("Jazz")
// ekleme işlemini gördük peki silme de ?
// silmede değer varsa silinen değeri geri döndürür . İstenilen eleman set'te yoksa nil döner buda soruna sebep olabilir.
// Bu yüzden silme işlemini şu şekilde yapıyoruz.
if let silinenTur = favoriMuzikTuru.remove("Rock") {
print("\(silinenTur)") // Burda if let'in görevine biraz değinelim. Silme işlemi sonucunda silinene değerin döneceğini söylemiştik. Yani şunu diyoruz eğer eşittirin sağındaki işlem nil değil de herhangi bir değerse bunu soldaki sabitin içine at ve komutları çalıştırmaya devam et.
}else {
print("Kategori yok.")
}
// set de elemanın olup olmadığını kontrol etme
if favoriMuzikTuru.contains("Arabesk") {
print("bulundu")
}else {
print("maalesef")
} // tahmin ettiğiniz üzere çıktısı maalesef oldu.
// sets ler sıralı olmadığı için ekrana yazdırdığınızda her seferinde farklı bir sıralama ile gelebilir.
for turler in favoriMuzikTuru {
print(turler)
}
/*
1. for
Classical
Hip-hop
Natural
Jazz
2.for
Natural
Hip-hop
Jazz
Classical gibi sürekli değişir.
*/
// fakat alfabetik olarak sıralayabiliriz.
for turler in favoriMuzikTuru.sorted() {
print(turler)
}
/* Classical
Hip-hop
Jazz
Natural
*/
// iki set 'in arasındaki işlemler
var birinciSet : Set = [1,2,3,4]
var ikinciSet : Set = [3,4,5,6]
print(birinciSet.intersection(ikinciSet)) // çıktısı [4, 3] iki set'in kesişimini alır.
print(birinciSet.symmetricDifference(ikinciSet)) // [6, 5, 1, 2] kesişimleri dışında kalan elemanları alır
print(birinciSet.union(ikinciSet)) // [2, 4, 5, 1, 6, 3] iki set'in birleşimi alınır kesişimdeki elemanlar bir kez dahil edilir.
print(birinciSet.subtracting(ikinciSet)) // [2, 1] a'nın b ' den farkını verir
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment