迅速なアレイ


Swift 配列は、順序付きリストを使用して、同じ型の複数の値を格納します。同じ値が配列内の異なる位置に複数回出現する可能性があります。

Swift 配列は、要素の型を強制的に検出します。型が異なる場合、Swift 配列は Array<Element> のような形式に従う必要があります。ここで、Element は、この中で存在できる唯一のデータ型です。配列。

配列を作成して変数に代入すると、作成したコレクションを変更できます。これは、配列を作成した後、追加、削除、または変更することで配列内の項目を変更できることを意味します。配列を定数に代入する場合、配列は変更できず、配列のサイズも内容も変更できません。


配列の作成

構築構文を使用して、特定のデータ型の空の配列を作成できます:

var someArray = [SomeType]()

以下は、初期化されたサイズの配列を作成する構文です:

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

次の例では、型の Int を作成します。サイズ 初期値 3 と初期値 0 を持つ空の配列:

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

次の例では、3 つの要素を持つ配列を作成します:

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

配列へのアクセス

に従って配列の要素にアクセスできます。配列のインデックス。構文は次のとおりです。

var someVar = someArray[index]

index インデックスは 0 から始まり、インデックス 0 は最初の要素に対応し、インデックス 1 は 2 番目の要素に対応します。

次の例を通じて、配列の作成、初期化、およびアクセスの方法を学ぶことができます:

import Cocoa

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

var someVar = someInts[0]

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

上記のプログラム実行の出力結果は次のとおりです:

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

配列を変更する

append() メソッドまたは配列内の代入演算子 += 以下に示すように、最後に要素を追加します。配列を初期化し、それに要素を追加します。

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])" )

上記のプログラム実行の出力は次のとおりです:

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

の値を変更することもできます。インデックスによる配列要素:

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])" )

上記のプログラム実行の出力 結果は次のとおりです:

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

配列のトラバース

for-in ループを使用して、すべての配列内のデータ項目をトラバースできます:

import Cocoa

var someStrs = [String]()

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

for item in someStrs {
   print(item)
}

上記のプログラム実行の出力結果は次のとおりです:

Apple
Amazon
php
Google

各データ項目の値とインデックス値が同時に必要な場合は、配列の走査に String の enumerate() メソッドを使用できます。例は次のとおりです:

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)")
}

上記のプログラムの実行の出力結果は次のとおりです:

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

配列を結合する

加算演算子 (+) を使用して、同じ型の 2 つの既存の配列を結合できます。新しい配列のデータ型は、2 つの配列のデータ型から推測されます:

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)
}

上記のプログラム実行の出力は次のとおりです:

2
2
1
1
1

count 属性

count 属性を使用して、配列の数をカウントできます。配列要素:

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)")

上記のプログラムの実行の出力結果は次のとおりです:

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

isEmpty 属性

読み取り専用属性 isEmpty を使用して、配列が空かどうかを判断し、ブール値を返すことができます:

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)")

上記のプログラムの実行の出力結果は次のとおりです:

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