Created
March 5, 2019 14:49
-
-
Save kadiralev1/05a6611b4787d5e7bf792b6db408f567 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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