- Published on
Swiftda Sets
- Authors
- Name
- ShoxruxC
- @iOSdasturchi
Set — takrorlanmaydigan, noyob elementlar to‘plamidir. Ya’ni set ichida bir xil element ikki marta bo‘la olmaydi. Masalan,
Talabalar ID raqamlarini saqlamoqchi bo‘lsak, ularning ID raqamlari takrorlanmasligi kerak. Shu sababli setdan foydalanish mumkin.

Set yaratish
Set yaratish misoli:
// integer turidagi set yaratish
var studentID : Set = [112, 114, 116, 118, 115]
print("Student ID: \(studentID)")
Natija:
Student ID: [112, 114, 115, 118, 116]
Bu yerda:
var studentID : Set = [112, 114, 115, 118, 116]
Set kalit so‘zi studentID o‘zgaruvchisi set ekanligini bildiradi. Elementlar integer bo‘lgani uchun Set<Int> tipiga mansub.
Quyidagicha turini aniq ko‘rsatish ham mumkin:
var studentID : Set<Int> = [112, 114, 115, 116, 118]
Set tartibga ega emas, shuning uchun elementlar ekranga tartibsiz chiqishi mumkin.
Setga element qo‘shish
insert() metodi setga yangi element qo‘shadi.
var numbers: Set = [21, 34, 54, 12]
print("Initial Set: \(numbers)")
numbers.insert(32)
print("Updated Set: \(numbers)")
Natija:
Initial Set: [54, 21, 34, 12]
Updated Set: [54, 21, 34, 12, 32]
insert(32) — setga 32 elementini qo‘shadi.
Setdan element o‘chirish
remove() — berilgan elementni o‘chiradi.
var languages: Set = ["Swift", "Java", "Python"]
print("Initial Set: \(languages)")
let removedValue = languages.remove("Java")
print("Set after remove(): \(languages)")
Natija:
Initial Set: ["Python", "Java", "Swift"]
Set after remove(): ["Python", "Swift"]
Boshqa metodlar:
- removeFirst() — setdagi birinchi elementni o‘chiradi
- removeAll() — setdagi barcha elementlarni o‘chiradi
Setning foydali metodlari
Oddiy ro‘yxat ko‘rinishida:
- sorted() — elementlarni tartiblaydi
- forEach() — har bir element uchun amal bajaradi
- contains() — element mavjudligini tekshiradi
- randomElement() — tasodifiy element qaytaradi
- firstIndex() — element indeksini qaytaradi
Set elementlarini aylanish (Iteratsiya)
let fruits: Set = ["Apple", "Peach", "Mango"]
print("Fruits:")
for fruit in fruits {
print(fruit)
}
Natija:
Fruits:
Peach
Mango
Apple
Setdagi elementlar sonini aniqlash
let evenNumbers = [2,4,6,8]
print("Set: \(evenNumbers)")
print("Total Elements: \(evenNumbers.count)")
Natija:
Set: [2, 6, 8, 4]
Total Elements: 4
Set amallari
Swift setlar ustida matematik amallarni bajarish uchun maxsus metodlar taqdim etadi: union, intersection, subtracting, symmetricDifference.
1. Ikki Setning birlashmasi (Union)
A ⋃ B — ikkala setdagi barcha elementlar.

let setA: Set = [1, 3, 5]
let setB: Set = [0, 2, 4]
print("Union: ", setA.union(setB))
Natija:
Union: [0, 5, 2, 4, 1, 3]
2. Ikki Setning kesishmasi (Intersection)

let setA: Set = [1, 3, 5]
let setB: Set = [1, 2, 3]
print("Intersection: ", setA.intersection(setB))
Natija:
Intersection: [3, 1]
3. Ikki Setning ayirmasi (Difference)

let setA: Set = [2, 3, 5]
let setB: Set = [1, 2, 6]
print("Subtraction: ", setA.subtracting(setB))
Natija:
Subtraction: [3, 5]
4. Simmetrik ayirma (Symmetric Difference)

let setA: Set = [2, 3, 5]
let setB: Set = [1, 2, 6]
print("Symmetric Difference: ", setA.symmetricDifference(setB))
Natija:
Symmetric Difference: [1, 6, 3, 5]
5. Setning Subset ekanligini tekshirish

let setA: Set = [1, 2, 3, 5, 4]
let setB: Set = [1, 2]
print("Subset: ", setB.isSubset(of: setA))
Natija:
Subset: true
Ikki Setning tengligini tekshirish
let setA: Set = [1, 3, 5]
let setB: Set = [3, 5, 1]
if setA == setB {
print("Set A and Set B are equal")
} else {
print("Set A and Set B are different")
}
Natija:
Set A and Set B are equal
Setlar tartibga ega bo‘lmagani uchun tarkibi bir xil bo‘lsa — ular teng hisoblanadi.
Bo‘sh Set yaratish
var emptySet = Set<Int>()
print("Set:", emptySet)
Natija:
Set: []
Bo‘sh set yaratishda
<Int>()— set faqat integer qiymatlar saqlashini bildiradi.