Swift. Массивы. Создание, чтение и запись
Line 1: | Line 1: | ||
<div style='max-width:700px;text-align:justify;'> | <div style='max-width:700px;text-align:justify;'> | ||
− | [[Swift. Массивы|Оглавление]] · [[Swift. Массивы. Тип данных|Дальше]] | + | [[Swift. Массивы|Оглавление]] · |
+ | [[Swift. Массивы. Тип данных|Дальше]] | ||
+ | |||
==Термины== | ==Термины== | ||
Line 20: | Line 22: | ||
Количество элементов массива не ограничено. | Количество элементов массива не ограничено. | ||
+ | |||
==Создание массива== | ==Создание массива== | ||
Line 37: | Line 40: | ||
type(of: b) // Array<Int>.Type | type(of: b) // Array<Int>.Type | ||
</pre> | </pre> | ||
+ | |||
==Инициализатор Array()== | ==Инициализатор Array()== | ||
Line 74: | Line 78: | ||
a // ["www", "www", "www", "www", "www"] | a // ["www", "www", "www", "www", "www"] | ||
</pre> | </pre> | ||
+ | |||
==Доступ к элементам массива== | ==Доступ к элементам массива== | ||
Line 110: | Line 115: | ||
---- | ---- | ||
− | [[Swift. Массивы|Оглавление]] · [[Swift. Массивы. Тип данных|Дальше]] | + | [[Swift. Массивы|Оглавление]] · |
+ | [[Swift. Массивы. Тип данных|Дальше]] | ||
</div> | </div> |
Revision as of 00:02, 20 September 2021
Contents |
Термины
Array (массив) - упорядоченная коллекция однотипных элементов, с доступом по целочисленному индексу.
Порядок элементов массива определяет разработчик.
Элемент массива - это пара "индекс-значение".
Индексы:
- генерируются автоматически при добавлении новых элементов;
- начинаются с нуля;
- всегда последовательны и неразрывны (при удалении элемента,
индексы всех последующих элементов уменьшаются на 1).
Значения всех элементов массива должны быть одного типа.
Тип необходимо указывать даже для пустого массива.
Количество элементов массива не ограничено.
Создание массива
Литерал массива:
[1, 2, 3, 4, 5]
Запись массива в параметр:
var a = ["a", "b", "c"] // изменяемый массив let b = [5, 3, 8] // неизменяемый массив type(of: a) // Array<String>.Type type(of: b) // Array<Int>.Type
Инициализатор Array()
Инициализация массива литералом:
var a = Array(arrayLiteral: "a", "b", "c") // функции передается литерал: "a", "b", "c" a // ["a", "b", "c"]
Инициализация массива диапазоном значений:
var a = Array(1...5) var b = Array(1..<5) a // [1, 2, 3, 4, 5] b // [1, 2, 3, 4]
Диапазон - целочисленная последовательность (Sequence).
Если функции передать бесконечный диапазон, то создание массива не завершится никогда,
программа займет всю свободную память и зависнет:
var a = Array(1...) var b = Array(...1)
Массив и диапазон - два вида последовательностей (Sequence).
Инициализация массива повторяющимся элементом:
let a = Array(repeating: "www", count: 5) a // ["www", "www", "www", "www", "www"]
Доступ к элементам массива
Сабскрипт - доступ к элементу через ключевое наименование (индекс).
Чтение:
let a = ["a", "b", "c"] var b = [5, 4, 9] a[1] // "b" b[2] // 9
Запись:
var b = [5, 4, 9] b[0] = 3 b // [3, 4, 9]
Модификация подмножества:
var a = ["q", "w", "e", "r", "t", "y", "u"] a[2...5] = ["-", "+"] // замена элементов по индексам 2-5 на массив ["-", "+"] a // ["q", "w", "-", "+", "u"] a[4] // "u" - индексы массива перестроились