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

From AsIsWiki
(Difference between revisions)
Jump to: navigation, search
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" - индексы массива перестроились



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

Personal tools
Namespaces

Variants
Actions
Navigation
Tools