🐈

Swift : コレクション(配列)を使う

2021/01/14に公開

はじめに

以下の人を対象に書いています。

  • Swiftをあまり触ったことのない方
  • Arrayの使い方を知りたい方

環境

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

  • Xcode 12.3 (12C33)
  • Swift 5.3.2

配列とは(Array)

順序を管理するコレクションで、同じ型をユニークな値を格納します。
順序を意識するユニークな値をコレクションで管理したい場合に使用します。

値を登録するには 型がHashableプロトコルに準拠している必要があります。Hashableプロトコルは整数のハッシュ値を提供し、一意なユニークな値として扱いたい場合に使用するプロトコルです。標準ライブラリの多くの型はデフォルトでHashableに準拠していますが、独自のクラスを使用する場合は準拠するようにしてください。

生成(空)

空の配列を生成する場合の実装例です。
変数の型を指定しなくても生成が可能です。

// 例1
var persons: Array<String> = Array<String>()

// 例2
var persons2: Array = Array<String>()

// 例3
var persons3 = Array<String>()

生成(初期値あり)

初期値を入れた配列を生成する場合の実装例です。
こちらも変数の型を指定しなくても生成が可能です。

// 例1
var persons4: Array<String> = ["Yamada", "Tanaka", "Okabe"] // 型指定あり

// 例2
var persons5: Array = ["Yamada", "Tanaka", "Okabe"] // 型指定なし

値を追加

配列に値を追加する場合の実装例です。
追加する際には値の他に位置も指定します。
注意する点として、追加位置に空き番がある場合は追加できません。

// "Yamada" を 0位置 に追加
persons.insert("Yamada", at: 0)
// "Tanaka" を 1位置 に追加
persons.insert("Tanaka", at: 1)
// "Okabe" を 2位置 に追加
persons.insert("Okabe", at: 2)

// 追加失敗例
persons.insert("Totsuka", at: 4) // 空き番があるとエラーが起きる

値を削除

配列から指定した値を削除する場合の実装例です。
削除の際は削除する位置を指定します。

// 0位置 の値を削除
persons.remove(at: 0)

値を全て削除

配列に登録されている全ての情報を破棄する場合の実装例です。

persons.removeAll()

繰り返し処理

繰り返して処理を行う場合の実装例です。
色々やり方がありますが、値とインデックス値両方使えるパターンとインデックス値のみ繰り返す場合の例を以下に挙げておきました。

// 繰り返し処理:値とインデックス値
for (index, person) in persons.enumerated() {
   print(index)
   print(person)
}

// 繰り返し処理:インデックス値
for index in 0..<persons.count {
   print(index)
}

値の存在確認

配列に追加した値が存在するかチェックする実装例です。

// 配列を生成
var persons: Array<String> = ["Yamada", "Tanaka", "Okabe"]

// "Tanaka"が存在するか取得
let isExist: Bool = persons.contains("Tanaka")

// デバッグ出力
print(isExist)

空かどうか取得

配列が空かどうか取得する実装例です。

// 配列を生成
var persons: Array<String> = ["Yamada", "Tanaka", "Okabe"]

// 空かどうか取得
let isEmpty: Bool = persons.isEmpty

// デバッグ出力
print(isEmpty)

最後に

今回はよく使う配列の使い方について解説しました。
昨日追加により新しい機能が追加された場合は、本記事に追記したいと思います。

GitHubで編集を提案

Discussion