Dalam tutorial ini, anda akan belajar tentang tatasusunan, membuatnya, mengakses nilai suatu larik dan beberapa operasi biasa dalam tatasusunan.
Dalam artikel Jenis Data Swift sebelumnya, kami belajar tentang membuat pemboleh ubah / pemalar dari beberapa Jenis Data yang dapat menahan satu nilai.
Tetapi, bagaimana jika kita mahu menyimpan pelbagai nilai dari jenis data yang sama. Kami menggunakan sesuatu yang disebut Array di Swift.
Apakah array itu?
Array hanyalah wadah yang dapat menyimpan banyak data (nilai) dari jenis data dalam senarai yang dipesan, iaitu anda mendapatkan elemen dalam urutan yang sama seperti yang anda tetapkan item dalam array.
Pelbagai boleh menyimpan nilai-nilai apa-apa jenis data contohnya Int
, String
, kelas dan lain-lain
Bagaimana cara menyatakan array dalam Swift?
Anda boleh membuat susunan kosong dengan menentukan jenis data di dalam tanda kurung ()
.
Ingat, Anda harus memasukkan jenis di dalam tanda kurung persegi, jika tidak, Swift akan menganggapnya sebagai jenis data biasa dan anda boleh menyimpan hanya satu nilai di dalamnya.
Contoh 1: Menyatakan array kosong
let emptyIntArr:(Int) = () print(emptyIntArr)
Semasa anda menjalankan program, outputnya adalah:
()
Dalam program di atas, kami telah menyatakan kosongIntArr tetap yang dapat menyimpan pelbagai bilangan bulat dan dimulakan dengan 0 nilai.
ATAU
Anda juga boleh menentukan array kosong seperti di bawah:
let emptyIntArr:Array = Array() print(emptyIntArr)
ATAU
Oleh kerana, swift adalah bahasa inferensi jenis, anda juga dapat membuat array secara langsung tanpa menentukan Jenis Data tetapi harus menginisialisasi dengan beberapa nilai sehingga penyusun dapat menyimpulkan jenisnya sebagai:
Contoh 2: Menyatakan array dengan beberapa nilai
let someIntArr = (1, 2, 3, 4, 5, 6, 7, 8, 9) print(someIntArr)
Semasa anda menjalankan program, outputnya adalah:
(1, 2, 3, 4, 5, 6, 7, 8, 9)
Dalam program di atas, kami telah menyatakan someIntArr tetap yang dapat menyimpan array Integer tanpa menentukan jenisnya secara eksplisit. Kami juga telah menginisialisasi susunan dengan nilai 1, 2, 3, 4, 5, 6, 7, 8, 9 .
Contoh 3: Menyatakan array yang mengandungi bilangan tertentu dari satu nilai berulang
Anda juga dapat mengulangi nilai yang diberikan beberapa kali untuk membentuk susunan dalam Swift. Ini dilakukan dengan menggunakan array inisialisasi dengan mengulangi dan mengira.
let arrWithRepeatingValues = Array(repeating: "Hello, World", count: 4) print(arrWithRepeatingValues)
Semasa anda menjalankan program, outputnya adalah:
("Hello, World", "Hello, World", "Hello, World", "Hello, World")
Dalam program di atas, kami telah menentukan arrWithRepeatingValues tetap yang menyimpan pelbagai rentetan Hello, World dan mengulangi nilai yang sama selama 4 kali seperti yang dinyatakan dalam kiraan.
Catatan: Di Swift, anda tidak dapat membuat susunan ukuran panjang tetap seperti yang anda lakukan dalam bahasa pengaturcaraan lain. Susunan ukuran panjang tetap bermaksud, susunan tidak boleh mempunyai lebih banyak elemen daripada yang anda tentukan semasa inisialisasi.
Bagaimana nilai disimpan dalam susunan?
Katakan anda mempunyai pemalar yang dapat menyimpan pelbagai rentetan seperti di bawah:
biarkan intArr = (21, 34, 54, 12)
Gambaran bergambar mengenai bagaimana nilai disimpan dalam susunan dapat ditunjukkan di bawah:
Semua tatasusunan yang anda buat bermula dengan indeks 0. Elemen pertama disimpan dalam indeks 0, elemen kedua dalam indeks seterusnya (1) dan seterusnya.
Bagaimana cara mengakses elemen array di Swift?
Anda boleh mengakses elemen array dengan menggunakan sintaks subskrip, iaitu Anda perlu memasukkan indeks nilai yang ingin anda akses dalam tanda kurung persegi tepat setelah nama array.
Andaikan anda menyatakan array intArr seperti di atas. Elemen pertama ialah intArr (0), elemen kedua adalah intArr (1) dan seterusnya.
Contoh 4: Mengakses unsur larik
let intArr = (21, 34, 54, 12) print(intArr(0)) print(intArr(1)) print(intArr(2)) print(intArr(3))
Semasa anda menjalankan program, outputnya adalah:
21 34 54 12
Anda juga dapat mengakses elemen array dengan menggunakan gelung masuk. Lihat gelung Swift For-in untuk mengetahui lebih lanjut mengenainya.
Bagaimana cara mengubah / menambah elemen array di Swift?
Anda boleh mengubah elemen array dengan menggunakan sintaks subskrip dan operator penugasan, iaitu anda perlu memasukkan indeks nilai yang ingin anda kemas kini dalam tanda kurung selepas nama array diikuti oleh operator penugasan dan nilai baru.
Contoh 5: Mengubah unsur array
var intArr = (21, 34, 54, 12) intArr(0) = 12 intArr(1) = 42 intArr(2) = 45 intArr(3) = 21 print(intArr)
Semasa anda menjalankan program, outputnya adalah:
(12, 42, 45, 21)
Anda juga dapat mengubah semua elemen larik dengan nilai baru seperti di bawah:
Contoh 6: Mengubah susunan secara keseluruhan
var intArr = (21, 34, 54, 12) intArr = (1,2,3) print(intArr)
Semasa anda menjalankan program, outputnya adalah:
(1, 2, 3)
Namun, untuk menambahkan elemen baru ke array yang ada, anda tidak dapat menggunakan sintaks langganan. Sekiranya anda melakukannya, anda akan mengalami ralat. Anda tidak boleh melakukan perkara seperti ini:
Contoh 7: Menambah elemen baru dalam array menggunakan sintaks subskrip (Tidak berfungsi)
var intArr = (21, 34, 54, 12) intArr(4) = 10
Semasa anda menjalankan program, outputnya adalah:
ralat maut: Indeks di luar julat
Program di atas memberikan ralat semasa menetapkan elemen baru ke intArr array. Ini kerana, intArr belum memperuntukkan memori tambahan untuk indeks 4 dan tidak dapat menyimpan nilai yang diberikan.
Untuk memasukkan elemen baru ke array dengan betul, kami menggunakan append()
kaedah array . append()
dijelaskan di bahagian bawah.
Beberapa fungsi & sifat Array yang berguna
1. is Kosong
Properti ini menentukan sama ada array kosong atau tidak. Ia kembali true
jika array tidak mengandungi nilai sebaliknya akan kembali false
.
Contoh 8: Bagaimana Kerja Kosong?
let intArr = (21, 34, 54, 12) print(intArr.isEmpty)
Semasa anda menjalankan program, outputnya adalah:
salah
2. pertama
Properti ini digunakan untuk mengakses elemen pertama array.
Contoh 9: Bagaimana cara pertama berfungsi?
let intArr = (21, 34, 54, 12) print(intArr.first)
Semasa anda menjalankan program, outputnya adalah:
Pilihan (21)
Begitu juga, anda boleh menggunakan last
harta tanah untuk mengakses elemen terakhir array.
3. melampirkan
Fungsi append digunakan untuk memasukkan / menambahkan elemen pada akhir array.
Contoh 10: Bagaimana lampiran berfungsi?
var intArr = (21, 34, 54, 12) intArr.append(32) print(intArr)
Semasa anda menjalankan program, outputnya adalah:
(21, 34, 54, 12, 32)
Anda juga boleh menambahkan isi satu array ke array lain seperti:
var firstArr = (1,2,3,4) var secondArr = (5,6,7,8) firstArr.append(contentsOf: secondArr) print(firstArr)
Semasa anda menjalankan program, outputnya adalah:
(1, 2, 3, 4, 5, 6, 7, 8)
4. masukkan
Fungsi ini digunakan untuk memasukkan / menambahkan elemen pada indeks khusus array.
Contoh 11: Bagaimana sisipan berfungsi?
var intArr = (21,34,54,12) intArr.insert(22, at: 1) print(intArr)
Semasa anda menjalankan program, outputnya adalah:
(21, 22, 34, 54, 12)
Begitu juga anda boleh menggunakan remove
properti untuk membuang elemen pada indeks yang ditentukan.
5. buang
Fungsi ini membuang dan mengembalikan nilai yang ditentukan pada kedudukan yang ditentukan dari array.
Contoh 12: Bagaimana penghapusan berfungsi?
var strArr = ("ab","bc","cd","de") let removedVal = strArr.remove(at: 1) print("removed value is (removedVal)") print(strArr)
Semasa anda menjalankan program, outputnya adalah:
nilai yang dikeluarkan ialah bc ("ab", "cd", "de")
Begitu juga, anda juga boleh menggunakan fungsi seperti removeFirst
untuk menghapus elemen pertama dari array, removeLast
untuk membuang elemen terakhir dari array dan removeAll
mengosongkan array.
6. terbalik
Fungsi ini mengembalikan unsur array dalam urutan terbalik.
Contoh 13: Bagaimana terbalik () berfungsi?
var intArr = (21,22,23,24) let reversedArr = Array(intArr.reversed()) print(reversedArr)
Semasa anda menjalankan program, outputnya adalah:
(24, 23, 22, 21)
7. mengira
Properti ini mengembalikan jumlah elemen dalam array.
Contoh 14: kiraan
let floatArr = (10.2,21.3,32.0,41.3) print(floatArr.count)
Semasa anda menjalankan program, outputnya adalah:
4
Perkara yang Perlu Diingat
Semasa menggunakan sintaks subskrip untuk mengakses elemen array di Swift, anda mesti yakin nilainya terletak di indeks jika tidak, anda akan mendapat runtime runtuh. Mari lihat ini sebagai contoh:
let intArr = (21, 34, 54, 12) print(intArr(-1))
Semasa anda menjalankan program, outputnya adalah:
ralat maut: Indeks di luar julat
Dalam program di atas, tidak ada nilai dalam indeks -1 . Oleh itu, apabila anda cuba mengakses nilai dalam indeks, anda akan mendapat runtime runtuh.
Untuk mengelakkannya, cari indeks elemen yang ingin anda alih keluar terlebih dahulu. Kemudian keluarkan elemen pada indeks seperti di bawah:
var intArr = (21, 34, 54, 12) if let index = intArr.index(of: 34) ( print("found index") let val = intArr.remove(at: index) print(val) )
Semasa anda menjalankan program, outputnya adalah:
dijumpai indeks 34