【Swift】配列型

配列型とは、コレクション型の一種で複数のデータをまとめて並べたもののことを言います。
この配列に代入した値のことを要素と言い、この要素をインデックス番号という番号で管理します。
例外を除いて、配列に代入する要素は原則全て同じ型でなければなりません。

前回は スコープ について書きました。

今回は 配列型 について書いていこうと思います。

配列型とは

配列型 とは、コレクション型の一種で複数のデータをまとめて並べたもののことを言います。
この配列に代入した値のことを要素と言い、この要素インデックス番号という番号で管理します。
例外を除いて、配列に代入する要素は原則全て同じ型でなければなりません。

配列の書式

配列の型を明示した書式

//書式1
変数、定数名:Array<型名> = [要素, 要素, 要素, ...]

//書式2
変数、定数名:[型名] = [要素, 要素, 要素, ...]

要素全体は大括弧 [ ] で囲って、要素と要素はカンマ , で区切ります。

配列の型を明示しない書式( 型推論 )

//型推論
変数、定数名 = [要素, 要素, 要素, ...]

配列を使った例

//例1
var a:Array<Int> = [1, 2, 3, 4, 5]
print(type(of: a)) //Array<Int>
print(a) //[1, 2, 3, 4, 5]

//例2
var b:[Int] = [1, 2, 3, 4, 5]
print(type(of: b)) //Array<Int>
print(b) //[1, 2, 3, 4, 5]

//例3(型推論)
var c = [1, 2, 3, 4, 5]
print(type(of: c)) //Array<Int>
print(c) //[1, 2, 3, 4, 5]

上の例の 3 種類は書き方が少し違いますが、どれで書いても同じです。

この例は a , b , c という Int型 の配列にそれぞれ、[1,2,3,4,5] と 5 つの要素を代入している例です。

次に 配列a の要素にインデックス番号でアクセスしていきます。

インデックス番号

インデックス番号は 添え字 とも言います。
インデックス番号は最初の要素から順番に 0 , 1 , 2 と番号が振られていきます。 1 からではなく 0 から始まります。


要素にインデックス番号でアクセスする方法

//書き方例1
var a:Array<Int> = [1, 2, 3, 4, 5]
print(type(of: a)) //Array<Int>
print(a) //[1, 2, 3, 4, 5]

//書き方例2
var b:[Int] = [1, 2, 3, 4, 5]
print(type(of: b)) //Array<Int>
print(b) //[1, 2, 3, 4, 5]

//書き方例3(型推論)
var c = [1, 2, 3, 4, 5]
print(type(of: c)) //Array<Int>
print(c) //[1, 2, 3, 4, 5]

//インデックス番号でアクセス
print(a[0]) //1
print(b[0]) //1
print(c[0]) //1

配列名[インデックス番号] とすることで各要素にアクセスすることができます。
配列 a , b , c にはそれぞれ [1,2,3,4,5] と 5 つの要素が代入されています。
インデックス番号は 0 から始まるので 1 つ目の要素にアクセスするには、a[0] とすれば 配列a の 1 つ目の要素にアクセスできます。

Arrayコードimg

要素の結合と演算

String型 の配列であれば要素同士の結合や、数値型の配列であれば要素同士の演算をする事が出来ます。

文字列の要素を結合

//String型の要素を結合する例
var a:[String] = ["Hello.", "Swift!", "World!"]
print(type(of: a)) //Array<String>
print(a) //["Hello.", "Swift!", "World!"]

//結合
print(a[0] + a[1]) //Hello.Swift!
print(a[0] + a[2]) //Hello.World!

数値型の要素を演算

//数値型の要素を演算する例
var b:[Int] = [1, 2, 3]
print(type(of: b)) //Array<Int>
print(b) //[1, 2, 3]

//演算
print(b[0] + b[1]) //3
print(b[1] * b[2]) //6
Arrayコードimg2

多次元配列

多次元配列とは、配列の中に配列を入れ子することを言います。

多次元配列の書き方

//多次元配列の書き方例
var a:[[Int]] = [[1, 2, 3], [4, 5, 6]]
print(type(of: a)) //Array<Array<Int>>
print(a) //[[1, 2, 3], [4, 5, 6]]

配列の中に複数の配列が格納されています。
次はこの多次元配列の要素にアクセスしてみます。

多次元配列のインデックス番号

多次元配列の要素にインデックス番号でアクセスしてみる。

//多次元配列の書き方例
var a:[[Int]] = [[1, 2, 3], [4, 5, 6]]
print(type(of: a)) //Array<Array<Int>>
print(a) //[[1, 2, 3], [4, 5, 6]]

//多次元配列の要素にインデックス番号でアクセス
print(a[0][1]) //2

上の例だと [1,2,3] は 0 番目の配列で [4,5,6] は 1 番目の配列ということになります。したがって a [0][1]配列a の 0 番目の配列の 1 番目の要素ということになるので、 2 が出力されます。

Arrayコードimg3

以上 配列型 についてでした。

次回は 関数 について書いていこうと思います。

実行環境

version
Xcode 14.2 (14C18)
Swift 5.2.4

公式ドキュメント

https://docs.swift.org/swift-book/documentation/the-swift-programming-language/