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

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

Revision as of 23:22, 19 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