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

From AsIsWiki
(Difference between revisions)
Jump to: navigation, search
 
Line 22: Line 22:
  
 
Количество элементов массива не ограничено.
 
Количество элементов массива не ограничено.
 
  
 
==Создание массива==
 
==Создание массива==
Line 40: Line 39:
 
type(of: b)  // Array<Int>.Type
 
type(of: b)  // Array<Int>.Type
 
</pre>
 
</pre>
 
  
 
==Инициализатор Array()==
 
==Инициализатор Array()==
Line 78: Line 76:
 
a  // ["www", "www", "www", "www", "www"]
 
a  // ["www", "www", "www", "www", "www"]
 
</pre>
 
</pre>
 
  
 
==Доступ к элементам массива==
 
==Доступ к элементам массива==

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