Swift Academy · レッスン

2次元配列とネストしたコレクション

配列の配列を扱い、flatMapとcompactMapで平坦化します。

レッスン 4/412 ステップ

「2次元配列とネストしたコレクション」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全4レッスンが含まれています。

ようこそ

2次元配列やネストしたコレクションは、グリッド、テーブル、グラフ、階層構造のデータを表現するのに使います。Swiftでは、配列の型をネストするだけで自然に扱えます。

2次元配列の宣言

```swift var grid: [[Int]] = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] print(grid[1][2]) // 6 ```

ネストした要素の変更

```swift var matrix = [[0,0,0],[0,0,0],[0,0,0]] matrix[1][1] = 1 // [[0,0,0],[0,1,0],[0,0,0]] ```

mapで2次元グリッドを作成する

```swift let rows = 3, cols = 4 let grid = (0..

2次元配列を反復処理する

```swift for row in grid { for val in row { print(val, terminator: " ") } print() } ``` 変更が必要な場合は、インデックスを使うこともできます。 ```swift for r in grid.indices { for c in grid[r].indices { ... } } ```

flatMapで平坦化する

```swift let nested = [[1,2,3],[4,5],[6]] let flat = nested.flatMap { $0 } // [1,2,3,4,5,6] ``` すべての要素を1つのシーケンスとして処理したい場合に便利です。

ギザギザ配列

Swiftの2次元配列では、行の長さをそろえる必要はありません。 ```swift let jagged: [[Int]] = [[1],[2,3],[4,5,6]] print(jagged[2].count) // 3 ``` 各行は独立した配列です。

辞書の配列

```swift let users: [[String: Any]] = [ ["name": "Alice", "age": 30], ["name": "Bob", "age": 25] ] for user in users { print(user["name"] ?? "?") } ```

構造体の配列

`[String: Any]` よりも、型を指定した構造体を使うことをおすすめします。 ```swift struct User { let name: String; let age: Int } var users = [User(name:"Alice",age:30), User(name:"Bob",age:25)] let sorted = users.sorted { $0.age < $1.age } ```

Dictionaryによるスパースグリッド

データがまばらな場合は、ネストした配列ではなく辞書を使います。 ```swift var sparse: [SIMD2: String] = [:] sparse[SIMD2(0,0)] = "start" sparse[SIMD2(9,9)] = "end" ``` 検索はO(1)で、空のセルのためにメモリを無駄に消費することもありません。

確認問題

`[[1,2],[3,4]]` に対して `nested.flatMap { $0 }` は何を返しますか?

まとめ

主なポイント: • `[[T]]` — 2次元配列を宣言し、`[row][col]` でアクセスします • `.flatMap { $0 }` — ネストした配列を平坦化します • 型安全性のために `[String: Any]` より構造体を使います • ギザギザ配列も使用できます — 各行は独立しています • スパースグリッドには `Dictionary` を使います コースは完了です!次はDictionaryのCRUD操作です。
無料で開始

AI チューターと学ぶ Swift — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
122
レッスン
409

よくある質問

「2次元配列とネストしたコレクション」レッスンは無料ですか?

はい。「2次元配列とネストしたコレクション」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全4レッスンが含まれています。

「2次元配列とネストしたコレクション」で何を学びますか?

配列の配列を扱い、flatMapとcompactMapで平坦化します。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Swift Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「2次元配列とネストしたコレクション」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSwift Academyレッスンでコードを書いて実行できますか?

はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 配列の作成と変更
  2. 並べ替え、検索、スライス
  3. 配列に対するMap、Filter、Reduce
  4. 2次元配列とネストしたコレクション
← Swift Academyに戻る