前回は スコープ について書きました。
今回は 配列型 について書いていこうと思います。
配列型とは
配列型 とは、コレクション型の一種で複数のデータをまとめて並べたもののことを言います。
この配列に代入した値のことを要素と言い、この要素をインデックス番号という番号で管理します。
例外を除いて、配列に代入する要素は原則全て同じ型でなければなりません。
配列の書式
配列の型を明示した書式
//書式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 つ目の要素にアクセスできます。
要素の結合と演算
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
多次元配列
多次元配列とは、配列の中に配列を入れ子することを言います。
多次元配列の書き方
//多次元配列の書き方例
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 が出力されます。
以上 配列型 についてでした。
次回は 関数 について書いていこうと思います。
実行環境
version |
---|
Xcode 14.2 (14C18) |
Swift 5.2.4 |
公式ドキュメント
https://docs.swift.org/swift-book/documentation/the-swift-programming-language/