【Swift】配列の使い方

(2020/05/02 更新)

配列(Array)の使い方について解説します。

Swiftでは配列に格納できる要素の数に制限はなく、自由に格納したり取り出したりできます。

スポンサーリンク

環境

この記事の情報は次のバージョンで動作確認しています。

【Xcode】11.4.1
【Swift】5.2
スポンサーリンク

配列の作成

一般的な配列の作成例です。

配列の型は中に入れる値の内容によって自動的に推論されます。但し、ある配列に格納される値の型は同じでなければいけません。

データ型を明示的に指定するには次のように記述します。

スポンサーリンク

空の配列を作成

空の配列の作成方法は次のようにします。
2種類ありますが、どちらの書き方でもOKです。
値が無い為、データ型の自動設定は行なえません。データ型の指定が必須となります。

スポンサーリンク

デフォルト値で初期化

デフォルト値で初期化された配列の作成方法です。
次の例は0で初期化された10個の配列を作成します。

スポンサーリンク

文字列を配列に変換する

文字列を1文字つづの配列に変換できます。

スポンサーリンク

配列へのアクセス

配列の各要素にアクセスするには、次のように[ ]の中に添字を入れて指定します。添字は0から始まる整数です。

添字無し配列名をprint()に渡すと、配列の内容が丸ごと出力されるので、デバッグ時に配列の中身を確認するのに便利です。

配列の最初と最後の要素に安全にアクセスするには、.firstと.lastのプロパティを使用します。
配列が空の場合、これらのプロパティはnilを返します。

配列の全ての要素にアクセスするには、次のようにfor-inループを使用して繰り返し処理します。

スポンサーリンク

要素数を調べる

countプロパティで配列の要素数を調べられます。

スポンサーリンク

要素の追加

append() メソッドで配列の最後に要素を追加できます。

append(contentsOf:)で複数の要素をまとめて追加できます。

演算子+、または+=を使うと、もっと簡単に要素を追加できます。

insert(_: at:)メソッドで、任意の位置に要素を挿入可能です。

複数の要素をまとめて挿入するには、insert(contentsOf: at:)メソッドを使います。

スポンサーリンク

要素の削除

任意の要素を削除する場合は、remove(at:)メソッドを使います。

removeAll()メソッドで全ての要素を削除します。

スポンサーリンク

要素の並べ替え

sort()メソッドで配列の要素を昇順にソートします。

sort(by: {$0 > $1})メソッドで配列の要素を降順にソートします。

reverse()メソッドで、要素の順番を反転させます。

shuffle()メソッドで、要素をランダムに並べ替えます。

スポンサーリンク

要素の検索

contains()メソッドで、指定した要素が配列に含まれているか否かをBool値で返します。

firstIndex(of:)メソッドでは、指定した要素が現れる最初の要素番号を返します。
見つからない場合はnilを返します。

firstIndex(where:) メソッドでは、条件に合う最初の「要素番号」を、
first(where:)メソッドでは、条件に合う最初の「要素」を返します。
条件はクロージャーで定義し、見つからない場合はnilを返します。

スポンサーリンク

要素の絞り込み

filterメソッドで、条件にマッチした要素のみに絞り込む事ができます。
条件はクロージャーで定義し、見つからない場合は空の配列を返します。

スポンサーリンク

ランダムな要素を返す

randomElement()で、ランダムに要素を返します。
要素が1つもない場合はnilが返ります。

スポンサーリンク

まとめ

配列については、ここに紹介した以外にもいろいろな操作が用意されています。

もっと詳しく知りたい方はSwiftのリファレンスを参照してみて下さい。

Array | Apple Developer Documentation
An ordered, random-access collection.
スポンサーリンク

あわせて読みたい記事

【Swift】乱数を生成する方法
Swiftで乱数を生成する方法を解説します。
【Swift】文字列の扱い方
(2021/08/24 更新) Swiftでの文字列の扱い方をまとめました。