Tatasusunan pantas


Tatasusunan pantas menggunakan senarai tersusun untuk menyimpan berbilang nilai daripada jenis yang sama. Nilai yang sama boleh muncul beberapa kali dalam kedudukan yang berbeza dalam tatasusunan.

Tatasusunan Swift akan dipaksa untuk mengesan jenis elemen Jika jenisnya berbeza, ralat akan dilaporkan Tatasusunan Swift harus mengikut bentuk seperti Array<Element>, dengan Element ialah satu-satunya jenis data yang dibenarkan wujud dalam tatasusunan ini.

Jika anda mencipta tatasusunan dan menetapkannya kepada pembolehubah, koleksi yang dibuat boleh diubah suai. Ini bermakna selepas membuat tatasusunan, anda boleh menukar item dalam tatasusunan dengan menambah, memadam atau mengubah suai. Jika anda menetapkan tatasusunan kepada pemalar, tatasusunan tidak boleh diubah dan saiz mahupun kandungan tatasusunan tidak boleh diubah suai.


Buat Tatasusunan

Kita boleh menggunakan sintaks pembinaan untuk mencipta tatasusunan kosong jenis data tertentu:

var someArray = [SomeType]()

Berikut ialah sintaks untuk mencipta tatasusunan saiz yang dimulakan :

var someArray = [SomeType](count: NumbeOfElements, repeatedValue: InitialValue)

Contoh berikut mencipta tatasusunan kosong jenis Int, saiz 3 dan nilai awal 0:

var someInts = [Int](count: 3, repeatedValue: 0)

Contoh berikut mencipta tatasusunan dengan tiga elemen:

var someInts:[Int] = [10, 20, 30]

Mengakses Tatasusunan

Kita boleh mengakses elemen tatasusunan mengikut indeks tatasusunan Sintaksnya adalah seperti berikut:

var someVar = someArray[index]

indeks Indeks bermula dari 0, dan indeks. 0 sepadan dengan satu elemen pertama, indeks 1 sepadan dengan elemen kedua, dan seterusnya.

Kita boleh belajar cara mencipta, memulakan dan mengakses tatasusunan melalui contoh berikut:

import Cocoa

var someInts = [Int](count: 3, repeatedValue: 10)

var someVar = someInts[0]

print( "第一个元素的值 \(someVar)" )
print( "第二个元素的值 \(someInts[1])" )
print( "第三个元素的值 \(someInts[2])" )

Hasil keluaran pelaksanaan program di atas ialah:

第一个元素的值 10
第二个元素的值 10
第三个元素的值 10

Ubah suai tatasusunan

Anda boleh menggunakan kaedah append() atau operator tugasan += untuk menambah elemen pada penghujung tatasusunan Seperti yang ditunjukkan di bawah, kami memulakan tatasusunan dan menambah elemen padanya:

import Cocoa

var someInts = [Int]()

someInts.append(20)
someInts.append(30)
someInts += [40]

var someVar = someInts[0]

print( "第一个元素的值 \(someVar)" )
print( "第二个元素的值 \(someInts[1])" )
print( "第三个元素的值 \(someInts[2])" )

Output pelaksanaan program di atas ialah :

第一个元素的值 20
第二个元素的值 30
第三个元素的值 40

Kita juga boleh mengubah suai nilai elemen tatasusunan mengikut indeks:

import Cocoa

var someInts = [Int]()

someInts.append(20)
someInts.append(30)
someInts += [40]

// 修改最后一个元素
someInts[2] = 50

var someVar = someInts[0]

print( "第一个元素的值 \(someVar)" )
print( "第二个元素的值 \(someInts[1])" )
print( "第三个元素的值 \(someInts[2])" )

Hasil keluaran pelaksanaan atur cara di atas ialah:

第一个元素的值 20
第二个元素的值 30
第三个元素的值 50

Melintasi tatasusunan

Kita boleh menggunakan gelung for-in untuk lelaran melalui semua item data dalam tatasusunan:

import Cocoa

var someStrs = [String]()

someStrs.append("Apple")
someStrs.append("Amazon")
someStrs.append("php")
someStrs += ["Google"]

for item in someStrs {
   print(item)
}

The output pelaksanaan program di atas ialah:

Apple
Amazon
php
Google

Jika kita memerlukan nilai dan indeks setiap item data pada Nilai masa yang sama, anda boleh menggunakan kaedah enumerate() String untuk traversal tatasusunan. Contohnya adalah seperti berikut:

import Cocoa

var someStrs = [String]()

someStrs.append("Apple")
someStrs.append("Amazon")
someStrs.append("php")
someStrs += ["Google"]

for (index, item) in someStrs.enumerate() {
   print("在 index = \(index) 位置上的值为 \(item)")
}

Hasil output pelaksanaan program di atas ialah:

在 index = 0 位置上的值为 Apple
在 index = 1 位置上的值为 Amazon
在 index = 2 位置上的值为 php
在 index = 3 位置上的值为 Google

Gabung tatasusunan

Kita boleh menggunakan operator penambahan ( +) untuk menggabungkan dua tatasusunan sedia ada daripada jenis yang sama. Jenis data tatasusunan baharu akan disimpulkan daripada jenis data dua tatasusunan:

import Cocoa

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)

var intsC = intsA + intsB

for item in intsC {
   print(item)
}

Output pelaksanaan program di atas ialah:

2
2
1
1
1

atribut kiraan

kami Anda boleh menggunakan atribut count untuk mengira bilangan elemen tatasusunan:

import Cocoa

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)

var intsC = intsA + intsB

print("intsA 元素个数为 \(intsA.count)")
print("intsB 元素个数为 \(intsB.count)")
print("intsC 元素个数为 \(intsC.count)")

Hasil output pelaksanaan program di atas ialah:

intsA 元素个数为 2
intsB 元素个数为 3
intsC 元素个数为 5

atribut isEmpty

Kita boleh menggunakan atribut baca sahaja isEmpty Untuk menentukan sama ada tatasusunan kosong, kembalikan nilai Boolean:

import Cocoa

var intsA = [Int](count:2, repeatedValue: 2)
var intsB = [Int](count:3, repeatedValue: 1)
var intsC = [Int]()

print("intsA.isEmpty = \(intsA.isEmpty)")
print("intsB.isEmpty = \(intsB.isEmpty)")
print("intsC.isEmpty = \(intsC.isEmpty)")

Hasil output pelaksanaan program di atas ialah:

intsA.isEmpty = false
intsB.isEmpty = false
intsC.isEmpty = true