Küme Oluşturma
Coddy'nin Swift Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 18 / 56.
Bir Set, benzersiz değerlerden oluşan sırasız bir koleksiyondur. Her bir üye için aynı eleman türü geçerlidir, yinelenenlere (duplicate) izin verilmez ve öngörülebilir bir yineleme sırası (order) yoktur.
var colors: Set<String> = ["red", "green", "blue", "red"]
print(colors.count) // 3 (yinelenen "red" atılır)Literal formunda Set<String> tür bildirimi zorunludur, çünkü tek başına ["a", "b"] bir Array olarak çıkarımlanır.
Üç temel işlem: contains, insert ve remove. Son ikisi, yapılan değişikliğin anlamlı olup olmadığına dair bilgi döndürür.
colors.insert("yellow") // onu ekler
colors.insert("red") // zaten orada, etkisi yok
colors.contains("green") // doğru
colors.remove("blue") // "blue" döndürür veya yoksa nilBir diziden set oluşturmak, tek bir adımda yinelenen öğeleri temizler (de-duplicates):
let unique = Set([1, 2, 2, 3, 3, 3])
// 3 eleman, kesin sıra garanti edilmezGörev
BaşlangıçVirgülle ayrılmış bir kelime listesi (yinelenen kelimeler içerebilir) şeklinde tek bir girdi satırı okuyun.
Üç satır yazdırın:
- Benzersiz (
unique) kelimelerin sayısı (Setkullanın) - Alfabetik olarak sıralanmış ve
,ile birleştirilmiş benzersiz kelimeler - Girdi
swiftkelimesini içerdiğindetrue, aksi takdirdefalse(containskullanın)
swift,ruby,go,swift,go,rust girdisi için çıktı şu şekildedir:
4
go,ruby,rust,swift
trueKendin dene
let words = readLine()!.components(separatedBy: ",")
// TODO: Set ile tekilleştir, sayıyı yazdır, sıralı birleştirilmiş, talimatlardaki tam metni içerir
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1Stringler Derinlemesine
Sayma ve İndekslerBüyük-Küçük Harf ve KırpmaStringlerde AramaBölme ve BirleştirmeAlt Stringleri DeğiştirmeÖzet - Kullanıcı Adı Kontrolü4Kümeler
Küme OluşturmaBirleşim ve KesişimFark ve Simetrik FarkAlt Küme ve Üst KümeÖzet - Etiket Filtresi7Proje - Alışkanlık Takibi
Projeye Genel BakışTamamlandı Olarak İşaretle10Proje - Quiz Motoru
Projeye Genel BakışSoruları Sorma2Aralıklar ve Adımlar
Kapalı ve Yarı AçıkStride (Adım)Aralık MetotlarıSwitch İçinde AralıklarÖzet - Takvim Izgarası5Yüksek Mertebeden Fonksiyonlar Bölüm 1
MapFilterReduceMap, filter, reduce zincirlemeÖzet - Kelime İstatistikleriKendi başına pratik yap: Swift playground