カテゴリ: Swift 更新日: 2025/11/07

Swiftの二次元配列の作り方を完全ガイド!行列操作と実用サンプルも紹介

Swift 二次元配列の作り方|行列操作と実用サンプル
Swift 二次元配列の作り方|行列操作と実用サンプル

先生と生徒の会話形式で理解しよう

生徒

「Swiftで表みたいなデータ、たとえばエクセルの表みたいなものって作れますか?」

先生

「はい、Swiftでは二次元配列を使えば、表のようなデータを扱うことができますよ。」

生徒

「二次元配列ってどうやって作るんですか?複雑じゃないですか?」

先生

「大丈夫です!これから順を追って、Swiftの二次元配列の作り方と使い方をわかりやすく解説していきますね。」

1. 二次元配列とは?

1. 二次元配列とは?
1. 二次元配列とは?

Swift(スウィフト)における二次元配列とは、配列の中にさらに配列が入っている構造のことです。たとえば、エクセルのような行と列のある表をイメージしてください。一つの行が1つの配列、そしてその複数の行が一つの大きな配列の中に入っている形になります。

2. Swiftでの二次元配列の作り方

2. Swiftでの二次元配列の作り方
2. Swiftでの二次元配列の作り方

まずは、基本的な二次元配列の作り方を紹介します。Swiftでは次のように書きます。


let matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

このコードでは、3行3列の数値が並んだ二次元配列を作成しています。配列の中にさらに配列が入っている形ですね。

3. 二次元配列の値を取り出す方法

3. 二次元配列の値を取り出す方法
3. 二次元配列の値を取り出す方法

特定の場所にあるデータを取り出すには、行と列を指定します。たとえば、2行目の3列目の数字を取得するには次のように書きます。


let value = matrix[1][2]
print(value)

6

Swiftでは配列のインデックスは0から始まるので、2行目はインデックス1、3列目はインデックス2になります。

4. 二次元配列に値を代入する方法

4. 二次元配列に値を代入する方法
4. 二次元配列に値を代入する方法

既存の二次元配列に新しい値を代入したいときは、次のようにします。


var matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

matrix[0][1] = 99
print(matrix[0][1])

99

このように、行と列を指定して直接値を変更できます。

5. 二次元配列をfor文でループする

5. 二次元配列をfor文でループする
5. 二次元配列をfor文でループする

Swiftでは、二次元配列をループしてすべての要素を取り出すことも簡単にできます。


for row in matrix {
    for value in row {
        print(value)
    }
}

このように、外側のfor文で各行の配列を取り出し、内側のfor文で列ごとの値を一つずつ処理していきます。

6. 二次元配列の初期化方法(すべて同じ値)

6. 二次元配列の初期化方法(すべて同じ値)
6. 二次元配列の初期化方法(すべて同じ値)

すべての値が同じ初期値で埋まった二次元配列を作成したい場合、次のように書きます。


let rows = 3
let cols = 4
let initialValue = 0

let matrix = Array(repeating: Array(repeating: initialValue, count: cols), count: rows)
print(matrix)

[[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

Array(repeating:count:)は、指定した値を何回繰り返して配列を作るかを指定できるSwiftの便利な初期化方法です。

7. 実用サンプル:座席表のような二次元配列

7. 実用サンプル:座席表のような二次元配列
7. 実用サンプル:座席表のような二次元配列

現実的な例として、映画館の座席表を二次元配列で表すと次のようになります。


var seats = [
    ["◯", "◯", "×"],
    ["◯", "×", "◯"],
    ["◯", "◯", "◯"]
]

for (rowIndex, row) in seats.enumerated() {
    print("Row \(rowIndex + 1): \(row)")
}

Row 1: ["◯", "◯", "×"]
Row 2: ["◯", "×", "◯"]
Row 3: ["◯", "◯", "◯"]

このように、Swiftの二次元配列は座席や表、ゲームボードなど、さまざまな実用的な場面で活用できます。

8. 行や列を追加・削除するには?

8. 行や列を追加・削除するには?
8. 行や列を追加・削除するには?

行を追加するには、通常の配列と同じようにappendを使います。


seats.append(["×", "×", "×"])

列(中の配列の要素)を追加するには、すべての行に対して値を追加する必要があります。


for i in 0..<seats.count {
    seats[i].append("◯")
}

このようにして、行や列の追加も柔軟に行えます。

9. Swiftで行列(matrix)を使うときの注意点

9. Swiftで行列(matrix)を使うときの注意点
9. Swiftで行列(matrix)を使うときの注意点

Swiftの二次元配列は、PythonなどのNumPyのような本格的な行列演算までは対応していません。しかし、基本的な値の操作やループ処理であれば十分に行えます。

また、行によって列の数が異なる「不規則な形」の二次元配列も作成できますが、扱いが難しくなるため、最初はすべて同じ列数にするのが安心です。

関連記事:
カテゴリの一覧へ
新着記事
Go言語の構造体でインターフェースを実装する方法を初心者向けにやさしく解説!
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説
Go言語の文字列フォーマット!fmt.Sprintfで簡単に出力を整形する方法
Go言語のエラーと例外の違いを初心者向けに整理!わかりやすく解説
人気記事
No.1
Kotlin・Go・Swift記事の人気No1
Swiftのwhile文とrepeat while文を完全マスター!初心者にもわかる繰り返し処理の使い方と違い
No.2
Kotlin・Go・Swift記事の人気No2
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.3
Kotlin・Go・Swift記事の人気No3
Swift入門ガイド|基本構文と書き方をマスターしよう
No.4
Kotlin・Go・Swift記事の人気No4
Kotlinの正規表現(Regex)の使い方をやさしく解説!文字列操作の基本を初心者向けに学ぼう
No.5
Kotlin・Go・Swift記事の人気No5
Kotlinのwhen式を完全ガイド!初心者でもわかるパターンマッチング的な使い方
No.6
Kotlin・Go・Swift記事の人気No6
Kotlinのコンパニオンオブジェクトとは?初心者向けに使い方と役割をわかりやすく解説!
No.7
Kotlin・Go・Swift記事の人気No7
Kotlinで画面を作る!レイアウトXMLとビューの基本操作をやさしく解説
No.8
Kotlin・Go・Swift記事の人気No8
Swiftのオプショナル型とは?初心者でもわかる使い方とアンラップの基礎