Swift. Массивы. Создание, чтение и запись

From AsIsWiki
(Difference between revisions)
Jump to: navigation, search
(Created page with "<div style='max-width:700px;text-align:justify;'> Оглавление ==Термины== Array (массив) - упорядоченная кол...")
 
 
(4 intermediate revisions by one user not shown)
Line 1: Line 1:
 
<div style='max-width:700px;text-align:justify;'>
 
<div style='max-width:700px;text-align:justify;'>
[[Swift. Массивы|Оглавление]]
+
[[Swift|Оглавление]] ·
 +
[[Swift. Массивы. Тип данных|Дальше]]
 +
 
  
 
==Термины==
 
==Термины==
Line 110: Line 112:
  
 
----
 
----
[[Swift. Массивы|Оглавление]]
+
[[Swift|Оглавление]] ·
 +
[[Swift. Массивы. Тип данных|Дальше]]
 
</div>
 
</div>

Latest revision as of 11:46, 12 April 2022

Оглавление · Дальше


Contents

[edit] Термины

Array (массив) - упорядоченная коллекция однотипных элементов, с доступом по целочисленному индексу.

Порядок элементов массива определяет разработчик.

Элемент массива - это пара "индекс-значение".

Индексы:

  • генерируются автоматически при добавлении новых элементов;
  • начинаются с нуля;
  • всегда последовательны и неразрывны (при удалении элемента,
    индексы всех последующих элементов уменьшаются на 1).


Значения всех элементов массива должны быть одного типа.

Тип необходимо указывать даже для пустого массива.

Количество элементов массива не ограничено.

[edit] Создание массива

Литерал массива:

[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

[edit] Инициализатор 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"]

[edit] Доступ к элементам массива

Сабскрипт - доступ к элементу через ключевое наименование (индекс).

Чтение:

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" - индексы массива перестроились



Оглавление · Дальше

Personal tools
Namespaces

Variants
Actions
Navigation
Tools