0Pricing
Swift Academy · Урок

Двумерные массивы и вложенные коллекции

Работайте с массивами массивов, выравнивая их с помощью flatMap и compactMap

«Двумерные массивы и вложенные коллекции» — бесплатный урок Swift Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 4 уроков всего.

Добро пожаловать

Двумерные массивы и вложенные коллекции позволяют моделировать сетки, таблицы, графы и иерархические данные. Swift естественным образом работает с ними — достаточно вкладывать типы массивов.

Объявление двумерного массива

```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

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

Перебор двумерного массива

```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] ``` Это удобно, когда требуется обработать все элементы как одну последовательность.

Неровные массивы

В двумерных массивах Swift длины строк не обязаны совпадать: ```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 } ```

Разреженные сетки со словарём

Для разреженных данных используйте словарь вместо вложенных массивов: ```swift var sparse: [SIMD2: String] = [:] sparse[SIMD2(0,0)] = "start" sparse[SIMD2(9,9)] = "end" ``` Поиск выполняется за O(1), а память для пустых ячеек не расходуется.

Быстрая проверка

Что возвращает `nested.flatMap { $0 }` для `[[1,2],[3,4]]`?

Итоги

Основные выводы: • `[[T]]` — объявление двумерных массивов, доступ через `[row][col]` • `.flatMap { $0 }` — выравнивание вложенных массивов • Используйте структуры вместо `[String: Any]` для безопасности типов • Неровные массивы допустимы — строки независимы • Для разреженных сеток используйте `Dictionary` Курс завершён! Далее: операции CRUD со словарями.

Часто задаваемые вопросы

Урок «Двумерные массивы и вложенные коллекции» бесплатный?

Да — полный текст урока «Двумерные массивы и вложенные коллекции» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 4 уроков всего.

Чему я научусь в уроке «Двумерные массивы и вложенные коллекции»?

Работайте с массивами массивов, выравнивая их с помощью flatMap и compactMap Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Swift Academy?

Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Двумерные массивы и вложенные коллекции»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Swift Academy?

Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Создание и изменение массивов
  2. Сортировка, поиск и срезы
  3. Map, filter и reduce для массивов
  4. Двумерные массивы и вложенные коллекции
← Назад к Swift Academy