Published on

Swiftda Arrays

Authors

Array β€” bir xil turdagi ma'lumotlar to'plamidir. Masalan,

Agar 5 nafar talabaning yoshini yozib borish kerak bo'lsa, 5 ta alohida o'zgaruvchi yaratish o'rniga bitta array yaratishimiz mumkin.

array

Array yaratish

Quyidagi misolda massiv yaratishni ko'ramiz:

Swift
Array yaratish
// integer turidagi array var numbers : [Int] = [2, 4, 6, 8] print("Array: \(numbers)")

Bu yerda numbers nomli array yaratdik. [Int] β€” array faqat integer qiymatlar saqlashini bildiradi.

Swift β€” type inference tilidir, ya'ni arraydagi qiymatlarga qarab turini o'zi aniqlay oladi. Shu sababli quyidagicha yozish ham mumkin:

Swift
Type inference bilan array
var numbers = [2, 4, 6, 8] print("Array: \(numbers)")

Bo'sh array yaratish

Swiftda bo'sh array ham yaratish mumkin:

Swift
Bo'sh array yaratish
var value = [Int]() print(value)

Bu yerda value β€” bo'sh array. Bo'sh array yaratishda turini ko'rsatish majburiy.

Swiftda arraylar Int, String va boshqa barcha turlarda yaratish mumkin.

Array elementlariga murojaat qilish

Har bir massiv elementi indeksi bilan bog'langan bo'ladi (0, 1, 2, ...).

Swift
Array elementlariga murojaat
var languages = ["Swift", "Java", "C++"] print(languages[0]) // Swift print(languages[2]) // C++
array

Indeks 0 dan boshlanishini unutmang.

Arrayga element qo'shish

Swift arraylarga element qo'shish uchun bir nechta metodlarni taqdim etadi.

1. append() metodi

Swift
append() metodi
var numbers = [21, 34, 54, 12] print("Before Append: \(numbers)") numbers.append(32) print("After Append: \(numbers)")

append(contentsOf:) yordamida bir massiv elementlarini boshqasiga qo'shish:

Swift
append(contentsOf:) metodi
var primeNumbers = [2, 3, 5] var evenNumbers = [4, 6, 8] primeNumbers.append(contentsOf: evenNumbers) print(primeNumbers)

2. insert() metodi

Belgilangan indeksga element qo'shadi:

Swift
insert() metodi
var numbers = [21, 34, 54, 12] numbers.insert(32, at: 1) print(numbers)

Array elementlarini o'zgartirish

Indeks orqali qiymatni o'zgartiramiz:

Swift
Element o'zgartirish
var dailyActivities = ["Eat", "Repeat"] dailyActivities[1] = "Sleep" print(dailyActivities)

Arraydan element o'chirish

remove(at:) β€” indeks bo'yicha elementni o'chiradi.

Swift
remove(at:) metodi
var languages = ["Swift","Java","Python"] let removedValue = languages.remove(at: 1) print(languages) print(removedValue)

Arraydagi boshqa metodlar:

  • removeFirst() β€” birinchi elementni o'chiradi
  • removeLast() β€” oxirgi elementni o'chiradi
  • removeAll() β€” barcha elementlarni o'chiradi

Arrayning foydali metodlari

Oddiy ko'rinishda:

  • sort() β€” elementlarni tartiblaydi
  • shuffle() β€” elementlar tartibini aralashtiradi
  • forEach() β€” har bir element uchun funksiya chaqiradi
  • contains() β€” element mavjudligini tekshiradi
  • swapAt() β€” ikki element joyini almashtiradi
  • reverse() β€” elementlar tartibini teskari qiladi

Array bo'ylab aylanish

Swift
Array bo'ylab aylanish
let fruits = ["Apple", "Peach", "Mango"] for fruit in fruits { print(fruit) }

Array elementlari sonini aniqlash

Swift
count xususiyati
let evenNumbers = [2,4,6,8] print(evenNumbers.count)

Array bo'sh yoki bo'sh emasligini tekshirish

Swift
isEmpty xususiyati
let numbers = [21, 33, 59, 17] print(numbers.isEmpty) let evenNumbers = [Int]() print(evenNumbers.isEmpty)

Aralash turdagi elementlarga ega array

Swift
Aralash turdagi array
var address: [Any] = ["Scranton", 570] print(address)

Bu yerda [Any] β€” massivda istalgan turdagi ma'lumotlar bo'lishi mumkinligini bildiradi.


πŸ“š Masalalarni qanday yechish kerak?

βœ… Namuna: 1-masala yechimi

Masala: Berilgan n ta sondan iborat array elementlari yig'indisini qaytaring. Array: 1 dan n gacha sonlar.

Bosqichma-bosqich yechim:

1-qadam: Masalani tushunish

  • n = 5 β†’ array: [1, 2, 3, 4, 5] β†’ yig'indi: 15
  • n = 3 β†’ array: [1, 2, 3] β†’ yig'indi: 6

2-qadam: Array yaratish va yig'ish

let arr = Array(1...n)  // [1, 2, ..., n]
var sum = 0
for element in arr {
    sum += element
}

3-qadam: To'liq yechim

Swift
1-masala yechimi
func solve(_ n: Int) -> Int { let arr = Array(1...n) var sum = 0 for element in arr { sum += element } return sum } // Tekshirish print(solve(5)) // 15 print(solve(3)) // 6 print(solve(10)) // 55 print(solve(1)) // 1

Natija: Barcha testlar o'tadi βœ…

Izoh:

  • Array(1...n) β€” 1 dan n gacha sonlardan array yaratadi
  • for element in arr β€” array bo'ylab aylanish
  • sum += element β€” har bir elementni yig'indiga qo'shish
  • Oxirida sum qaytariladi

Alternativ: arr.reduce(0, +) β€” bir qatorda yig'indi


Xulosa

  • Array β€” bir xil turdagi elementlar to'plami
  • Indeks β€” 0 dan boshlanadi
  • append() β€” oxiriga qo'shish
  • insert() β€” ma'lum indeksga qo'shish
  • remove() β€” element o'chirish
  • count β€” elementlar soni
  • isEmpty β€” bo'shlik tekshirish
Buy mea coffee