Коллекции предназначены для хранения значений. Что использовать и когда важно для вашего развития как программиста

Сложность: Начинающий | Легко | Нормальный | Испытывающий
Типы коллекций позволяют хранить значения, и вы можете думать об этом как о способе группировки этих значений. Вам нужно будет подумать, хотите ли вы упорядочить свои значения и как вы хотите получить к ним доступ после того, как они были сохранены.
Читайте подробности… (!)
Предпосылки:
- Уметь создать Hello, World! Приложение для iOS (руководство ЗДЕСЬ)
Терминология
Массив: упорядоченная серия объектов одного типа.
Коллекция: последовательность элементов, которые можно перемещать (сколько угодно раз) и к которым можно получить доступ с помощью индексированного нижнего индекса.
Тип данных: представление типа данных, которые могут быть обработаны, например целое число или строка.
Типы коллекций в Swift
В языке Swift есть три Collection типа, доступных в Swift, все из которых хранят values и полезны для разработчиков. Вот сокращенная версия для вашего быстрого ознакомления:
Массив: упорядоченная серия объектов одного типа. Это может быть массив из целых чисел, строк или любого другого типа данных в Swift.
Словарь: связь между ключами и значениями (где все ключи одного типа и все значения одного типа).
Набор: неупорядоченный набор значений (все значения одного типа).
Массивы
Массивы в Swift имеют нулевую индексацию, что означает, что мы можем хранить символы.

Затем к этим элементам можно будет получить доступ через индексирование
arr[0] // returns "a" arr[1] // returns "b" arr[2] // returns "c" arr[3] // returns "d"
означает, что следующие утверждения равенства верны
arr[0] == "a" // true arr[1] == "b" // true arr[2] == "c" // true arr[3] == "d" // true
Массивы также можно объединять, что часто называется конкатенацией.
Когда мы соединяем два массива, то есть на диаграмме ниже «a», «b», «c» и «d» добавляются к «e», «f», «g» и «h». ».

Поскольку мы добавляем второй массив к первому, у вас остается следующий новый массив

Добавление к массивам в основном означает добавление элементов в конец существующего массива.
Это показано на диаграмме ниже, где показано «e», добавленное в конец массива, содержащего «a», «b», «c» и « d ».

Если мы возьмем этот обновленный массив «a», «b», «c», «d», «e» и изменим второй элемент на «z» (если элемент называется arr, мы выполняем arr [2] = «z»), в результате чего получаем:

Альтернативой является использование Swift insert (: atIndex :), которое позволяет нам вставлять элемент по определенному индексу.
Если мы возьмем текущий массив (который теперь содержит элементы «a», «b», «z», «d», «e») и если мы вставим элемент «y» с индексом 1.
Процесс показан на более крупной диаграмме ниже:

Точно так же мы можем использовать Swift removeAtIndex (:), который позволяет нам удалить элемент по определенному индексу.

Перемещение по массивам
Это возможно с помощью синтаксиса for in в Swift (при условии, что массив имеет имя arr).
for item in arr {
print (item) // in this example print the element
}
Мы также можем перечислять элементы в Swift, что дает нам доступ к индексу.
for (index,item) in arr.enumarate() {
print (index, item) // e.g. print the index and the element
}
Есть еще кое-что вокруг ArraySlices, но я оставил их для отдельной статьи (ЗДЕСЬ).
Итак, мы можем настроить массив
var arr = [“a”,”b”,”c”,”d”]
Операции с массивом:

Массивы особенно хороши, потому что они упорядочены, поэтому это отличный способ представить отсортированные данные. Разрушение!
Словари
Словари на других языках известны как HashMaps и представляют собой структуру данных, которая сопоставляет ключи со значениями. Они часто используются для высокопроизводительных вычислительных приложений, таких как кэши и базы данных.
Важно помнить, что, в отличие от массивов, они неупорядочены (поэтому, когда вы читаете эту коллекцию, она будет иметь порядок, но он может отличаться при каждом запуске программы).
Словари чрезвычайно эффективны в своей операции поиска и неупорядочены, поэтому мы можем получить значение за постоянное время - точно так же, как листание физического словаря, не имеет значения, где находится значение в структуре, для доступа к которой всегда требуется одно и то же время.
Инициализация словаря
var myDictionary = [Int: Int]()
Графическое представление словаря
Ниже представлено представление словаря с тремя элементами в виде пар "ключ-значение".

Три пары ключ-значение, представленные здесь (если мы вызываем словарь myDictionary), равны myDictionary[4] = 11, myDictionary[8] = 7 and myDictionary[5] = 1.
Это позволяет нам использовать следующие операции:

Есть полное руководство по словарю на Swift (Ссылка здесь)
Наборы
Набор представляет собой неупорядоченную коллекцию, но возможен только один
Инициализация набора
var stringSet = Set<String>()
Набор с a, b, c, d, e будет выглядеть примерно так, как на следующей диаграмме:

Затем мы можем выполнять операции над структурой

Вывод:
Если вы храните данные, возможно, вам понадобится сбор. Их удобно перебирать, и если вам важен порядок, вы, вероятно, используете массив. Если вас не волнует порядок и вам нужна скорость доступа, вероятно, вам подойдет словарь. Если вам нужна структура данных, поддерживающая операции над наборами (и только один экземпляр значения), выберите набор.
В любом случае, на пути к программированию вы, вероятно, будете сталкиваться с этими структурами снова и снова. Наверное, лучше к ним привыкнуть!
Расширьте свои знания
- Если вас интересуют смежные и несложные массивы, есть полное руководство (ЗДЕСЬ)
- Вы можете прочитать о ArraySlices (ЗДЕСЬ)
- Полные статьи о Массивах, Словарях и Наборах доступны для вас, чтобы вы могли более подробно ознакомиться с ними.
Контактное лицо в Twitter:
Любые вопросы? Вы можете связаться со мной ЗДЕСЬ