📚 SwiftのArray(配列)とは?

Array は、同じ型の値を順序付きで格納するコレクション型です。リストや表形式のデータに最適で、Swiftの基本中の基本といえるデータ構造です。


…読み込み中…

🔰 基本構文:Arrayの作成

// 明示的に型を指定
let numbers: [Int] = [1, 2, 3, 4, 5]

// 型推論を利用
let fruits = ["🍎", "🍌", "🍇"]

// 空の配列
var emptyArray: [String] = []

配列は角括弧 [] で定義します。型を明示的に指定することも、Swiftの型推論を利用して自動で決定させることもできます。

Array | Int | String

🛠 要素の追加・削除

var items = ["A", "B", "C"]

// 追加
items.append("D")

// 挿入
items.insert("X", at: 1)

// 削除
items.remove(at: 0)

// 最後の要素を削除
items.removeLast()

配列は可変長で、要素の追加や削除が簡単に行えます。append で末尾に追加、insert で指定位置に挿入、remove で削除が可能です。

Array | String

🔁 配列のループ処理

let names = ["Hana", "Sora", "Yuki"]

for name in names {
  print("こんにちは、\(name)さん")
}

// インデックス付き
for (index, name) in names.enumerated() {
  print("\(index): \(name)")
}

配列の要素をループ処理するには、for-in 文を使います。enumerated() を使うと、インデックスと値の両方を取得できます。

Array | String

🧰 よく使うメソッド

これらのメソッドを活用することで、配列の操作がより簡単かつ直感的になります。

Array

🔍 mapとfilterの使い方

let nums = [1, 2, 3, 4, 5]

let doubled = nums.map { $0 * 2 } // [2, 4, 6, 8, 10]
let even = nums.filter { $0 % 2 == 0 } // [2, 4]

map は各要素を変換、filter は条件に合う要素だけを抽出します。これらの高階関数を使うことで、配列の操作が非常に柔軟になります。

Array

📏 要素数と範囲

let array = ["A", "B", "C", "D"]

print(array.count)        // 4
print(array[1...2])       // ["B", "C"]

※ インデックスが範囲外だとクラッシュするので注意!

配列の要素数は count プロパティで取得できます。また、スライス構文を使って部分的な配列を取得することも可能です。

Array | String

📌 配列の型制約と初期化

// 10個のゼロで構成された配列
let zeros = Array(repeating: 0, count: 10)

// 配列の合成
let a = [1, 2]
let b = [3, 4]
let combined = a + b // [1, 2, 3, 4]

配列は同じ型の要素を持つ必要があります。Array(repeating:count:) を使うと、指定した値で初期化された配列を作成できます。また、+ 演算子で2つの配列を結合することも可能です。

Array | Int

⚠️ 注意:値型なので代入でコピーされる

var a = [1, 2, 3]
var b = a

b.append(4)

print(a) // [1, 2, 3]
print(b) // [1, 2, 3, 4]

配列は値型(struct)なので、代入や関数の引数でコピーされます。これにより、元の配列は変更されません。参照型のように動作しない点に注意が必要です。

Array | Struct

🔗 関連リンク